Quel est le sens de android.l'intention.d'action.PRINCIPAL?
J'ai vu tellement de différents confusion explenations..
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Quel est le sens de
<action android:name="android.intent.action.MAIN" />
et
<category android:name="android.intent.category.LAUNCHER" />
et
<category android:name="android.intent.category.DEFAULT" />
Vous devez vous connecter pour publier un commentaire.
android.intent.action.MAIN
signifie que cette activité est le point d'entrée de l'application, c'est à dire lorsque vous lancez l'application, cette activité est créée.De la docs
Aussi,à partir de ici
android.l'intention.de la catégorie.Par DÉFAUT est principalement utilisé pour des intentions implicites. Si votre activité, souhaite être commencé par une intention implicite, il doit inclure ce catetory dans son filtre.
Si votre Activité peut être commencé par une Intention implicite lorsque aucune catégorie spécifique lui est attribué, de son Intention de filtre devrait inclure cette catégorie.
android.l'intention.de la catégorie.LANCEUR
CATEGORY_LAUNCHER
signifie qu'il doit apparaître dans le Launcher est une application de niveau supérieurVoir les docs..
MAIN
seul ne sera pas "démarrage de l'activité à la maison".MAIN
a de nombreuses utilisations.ACTION_MAIN
est considéré comme un point d'entrée pour l'application. Habituellement, il se combine avecCATEGORY_LAUNCHER
dans un<intent-filter>
pour indiquer une activité qui doit apparaître dans l'écran d'accueil du lanceur, ou dans n'importe quoi d'autre qui se considère comme un lanceur. Ces "lanceurs" peut requêtePackageManager
, à l'aide dequeryIntentActivities()
, de trouver de telles activités et de les afficher à l'utilisateur.Cependant,
ACTION_MAIN
peut être utilisé en combinaison avec d'autres catégories pour les autres des usages spécialisés. Par exemple,CATEGORY_CAR_DOCK
avecACTION_MAIN
indique une activité qui doit être considéré comme un candidat pour être affiché lorsque l'utilisateur dépose son téléphone dans un fourni par le fabricant du kit de voiture.Lorsqu'un
Intent
est utilisé avecstartActivity()
, si leIntent
n'est pas déjà placés dans une catégorie, il est placé dansCATEGORY_DEFAULT
. Par conséquent, un<activity>
<intent-filter>
besoin de spécifier certains<category>
, à l'aide de<category android:name="android.intent.category.DEFAULT" />
si de rien d'autre.ACTION_MAIN
qui n' pas associer un écran d'accueil-style lanceur.<intent-filter>
avec les deux<action android:name="android.intent.action.MAIN" />
et<category android:name="android.intent.category.LAUNCHER" />
.finish()
tout de suite, mais les utilisateurs vont penser que votre application est cassé.onStart()
ouonResume()
, je suppose. Je ne comprends pas vraiment votre préoccupation. Vous pourriez envisager de demander une Pile séparée de Débordement de la question.Généralement juste ajouter
android.intent.category.DEFAULT
même si vous avez d'autres Catégories.Cela Garantit que si l'on demande Intention n'est pas de offre toutes Catégories lors du démarrage de l'intention à l'aide destartActivity(intent)
, puis Réception de votre Activité peut également recevoir ces Intentions..Source: Le Occupé Codeurs Guide de Développement Android
https://commonsware.com/Android/