Pregunta

Estoy creando una aplicación de frío Inicio de Android.

Como se trata de una aplicación de Inicio no quiero que ella apareciera en el Iniciador, en la lista de todas las aplicaciones.

Esto es bastante fácil, pero ahora me gustaría la configuración de esta aplicación a aparecer. Por lo tanto, he creado las preferencias de mi solicitud de esta manera en el Manifiesto:

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

Esto funciona bastante bien y tiene un icono adicional en el Launcher!

El único problema es que no pasa nada cuando hago clic en el icono. Por lo tanto, puedo lanzar mis preferencias desde la aplicación:

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

Así que, ¿por qué es el acceso directo en el lanzador totalmente inútil y no hace nada de lanzamiento?

Más información aquí:

Log cuando inicio desde la aplicación (se ponen en marcha las preferencias, funcionó a la perfección):

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

Cuando inicio del lanzador ( no pasa nada ):

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 }

Mi actividad:

public class Preferences extends PreferenceActivity {

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

 }
}
¿Fue útil?

Solución

Sólo encontró algo! (Y por cierto, ¿cuál es el mejor procedimiento para utilizar cuando encontré una respuesta a mi propia pregunta? ¿Debería me contesto? Aquí ..)

he tenido que usar ese en el manifiesto:

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

Ese trabajo bastante bien!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top