Question

Je crée une application Home frais dans Android.

Comme il est une application Accueil Je ne veux pas qu'elle apparaisse dans le lanceur, dans la liste de toutes les applications.

C'est assez facile, mais maintenant je souhaite que les paramètres de cette application à apparaître. Donc, j'ai créé les préférences de ma demande de cette façon dans le manifeste:

<activity android:name=".Preferences" android:label="@string/application_name">
<intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
</activity>

Ce travail assez bien et j'ai une icône supplémentaire dans le lanceur!

Le seul problème est que rien ne se passe lorsque je clique sur l'icône. Par conséquent, je peux lancer mes préférences dans l'application:

final Intent preferences = new Intent(Launcher.this,Preferences.class);        
menu.add(0, MENU_PREFERENCES, 0, R.string.application_name).setIcon(
        R.drawable.ic_menu_preferences).setAlphabeticShortcut('F').setIntent(
          preferences);

Alors, pourquoi est le raccourci dans le lanceur totalement inutile et ne rien de lancement?

Plus d'infos ici:

Log lorsque je lance dans l'application (préférences sont lancées, a parfaitement fonctionné):

08-25 13:13:03.009: INFO/ActivityManager(63): Starting activity: Intent { cmp=com.myapp.home/.Preferences }

Quand je lance du lanceur ( rien ne se passe ):

08-25 13:13:45.489: INFO/ActivityManager(63): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.myapp.home/.Preferences }

Mon activité:

public class Preferences extends PreferenceActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  addPreferencesFromResource(R.xml.preferences);

 }
}
Était-ce utile?

La solution

Il suffit de trouver quelque chose! (Et d'ailleurs, quelle est la meilleure procédure à utiliser lorsque j'ai trouvé une réponse à ma question? Devrais-je me réponds? Ici ..)

Je devais l'utiliser dans Manifest:

      <activity android:clearTaskOnLaunch="true" android:launchMode="singleTask" android:stateNotNeeded="true" (...other parameters...)>

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

Ce travail assez bien!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top