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!

Était-ce utile?

La solution

Essayez ceci:

  1. se débarrasser de la <intent-filter>
  2. se débarrasser de la ACTION_MAIN et il suffit d'utiliser new Intent(this, MyActivity.class)
  3. 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" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top