Jakie jest znaczenie Androida.intencja.akcja.MAIN?

Widziałem tak wiele różnych mylących wyjaśnień..

<intent-filter>
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Jakie jest znaczenie

<action android:name="android.intent.action.MAIN" />

I

 <category android:name="android.intent.category.LAUNCHER" />

I

 <category android:name="android.intent.category.DEFAULT" />
Author: Gero, 2014-08-09

3 answers

android.intent.action.MAIN oznacza, że ta aktywność jest punktem wejścia aplikacji, tzn. po uruchomieniu aplikacji zostanie ona wytworzona.

Z docs

ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen.

Również z tutaj

Akcja rozpoczyna się jako główny punkt wejścia, nie oczekuje odbieraj dane.

Android.intencja.Kategoria.DEFAULT jest używany głównie dla implicit intents. Jeśli Twoja działalność chce być rozpoczęta z ukrytej intencji, powinna ona obejmować ta katetoria w filtrze. Jeśli Twoja aktywność może być rozpoczęta ukrytą intencją, gdy nie jest przypisana do niej żadna konkretna Kategoria, filtr intencji powinien zawierać tę kategorię.

Android.intencja.Kategoria.LAUNCHER

Category -- podaje dodatkowe informacje o akcji do wykonania.

CATEGORY_LAUNCHER oznacza, że powinien pojawić się w Launcherze jako aplikacja najwyższego poziomu

Zobacz docs..

  1. http://developer.android.com/reference/android/content/Intent.html
  2. http://developer.android.com/guide/topics/manifest/action-element.html
 56
Author: Lal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-09 14:40:27

ACTION_MAIN jest uważany za punkt wejścia do wniosku. Zwykle łączy się z CATEGORY_LAUNCHER w <intent-filter>, aby wskazać aktywność, która powinna pojawić się w launcherze ekranu głównego lub w czymś innym, co uważa się za launcher. Takie "wyrzutnie" mogą odpytywać PackageManager, używając queryIntentActivities(), aby znaleźć takie działania i wyświetlić je użytkownikowi.

Jednakże, ACTION_MAIN może być stosowany w połączeniu z innymi kategoriami do innych specjalistycznych celów. Na przykład, CATEGORY_CAR_DOCK z ACTION_MAIN oznacza aktywność, którą należy uznać za kandydującą, powinna być pokazana, gdy użytkownik upuści telefon do stacji dokującej dostarczonej przez producenta.

Gdy Intent jest używany z startActivity(), Jeśli Intent nie jest jeszcze umieszczony w kategorii, jest umieszczony w CATEGORY_DEFAULT. Stąd <activity> <intent-filter> musi określić niektóre <category>, używając <category android:name="android.intent.category.DEFAULT" /> jeśli nic innego.

 71
Author: CommonsWare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-09 14:35:12
<action android:name="android.intent.action.MAIN"/>

Jest głównym działaniem dla tej aplikacji

 <category android:name="android.intent.category.LAUNCHER" />

Jest w kategorii LAUNCHER, co oznacza, że dostaje ikonę we wszystkim w przeciwieństwie do innych gier, nie można ich używać.]}

 <category android:name="android.intent.category.DEFAULT" />

Wywołanie startActivity () zawsze doda domyślną kategorię, jeśli nie określono żadnej innej kategorii.

ogólnie po prostu dodaj android.intent.category.DEFAULT, nawet jeśli masz inne kategorie.To gwarantuje, że jeśli żądając intencji nie udostępnia żadnych kategorii podczas rozpoczynania intencji za pomocą startActivity(intent), wtedy Twoja aktywność odbierająca może również odbierać te intencje..

Źródło: Busy Coders Guide to Android Development

Https://commonsware.com/Android/

 0
Author: Shubham Soni,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-24 18:30:56