Échec de raccourci de lancement: application n'est pas installé sur votre téléphone
-
26-09-2019 - |
Question
Je suis en train de créer un raccourci sur le bureau à l'un de mes activités dans Android. J'utilise le code que le travail dans tous les exemples tuto j'ai lu:
final Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
ComponentName name = new ComponentName(getPackageName(), ".MyActivity");
shortcutIntent.setComponent(name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "blabla");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, icon);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
finish();
Et j'ajouté l'action principale à mon activité:
<activity android:label="@string/app_name" android:name=".MyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
Le résultat est que l'application ne veut pas lancer!
Dans le tout Logcat semble bien:
10-01 01:17:51.591: INFO/ActivityManager(2424): Starting activity: Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=my.package.name/.MyActivity bnds=[125,384][235,522] (has extras) }
Et la maison me dire que l'application n'est pas installé.
S'il vous plaît aidez-moi, je suis totalement perdu et passer quelques heures à essayer de résoudre le problème et lire toutes les informations que je peux obtenir.
Merci beaucoup!
La solution
Essayez ceci:
- se débarrasser de la
<intent-filter>
- se débarrasser de la
ACTION_MAIN
et il suffit d'utilisernew Intent(this, MyActivity.class)
- ajouter android: exporté = "true" à votre élément dans le manifeste
Autres conseils
Cela peut se produire si vous avez votre activité déclarée deux fois dans votre AndroidManifest.xml, d'abord comme un lanceur, puis vient de déclarer comme:
<activity android:name=".MyActivity" />