Frage

Ich bin eine kühle Heim Anwendung in Android zu schaffen.

Da es sich um eine Startseite App Ich will sie nicht im Launcher erscheinen, in der Liste aller Anwendungen.

Das ist ziemlich einfach, aber jetzt würde ich die Einstellungen dieser Anmeldung gerne erscheinen. So habe ich die Vorlieben meiner Anwendung auf diese Weise in dem Manifest:

<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>

Diese Arbeit ziemlich gut, und ich habe ein zusätzliches Symbol in der Übersicht!

Das einzige Problem ist, dass nichts passiert, wenn ich auf das Symbol klicken. Daher kann ich meine Einstellungen aus der Anwendung heraus starten:

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);

Also, warum ist die Abkürzung im Launcher völlig nutzlos und startet nicht etwas?

Weitere Informationen hier:

Melden Sie sich, wenn ich aus der Anwendung heraus starten (Einstellungen gestartet werden, funktionierte einwandfrei):

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

Wenn ich von der Trägerrakete starten ( nichts passiert ):

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 }

Meine Tätigkeit:

public class Preferences extends PreferenceActivity {

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

 }
}
War es hilfreich?

Lösung

gefunden Nur etwas! (Und btw, was ist das beste Verfahren zu verwenden, wenn ich eine Antwort auf meine eigene Frage gefunden? Soll ich mich beantworten? Hier ..)

Ich hatte das in Manifest zu verwenden:

      <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>

Diese Arbeit ziemlich gut!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top