¿Cómo haces que un acceso directo de "Inicio" de Android evite la aplicación?
Tengo una aplicación que le permite crear Home "atajos" para una Activity
específica. Resulta que algunos de mis usuarios utilizan la aplicación, pulsa la tecla de inicio para ir a hacer otra cosa, a continuación, utilizar uno de los atajos para volver a esa actividad. Dado que la aplicación sigue en la memoria, sólo abre la nueva Activity
encima de los demás y la tecla "Atrás" los llevará de nuevo a través de toda la historia. Lo que me gustaría tener que suceder es que si utilizan un acceso directo a continuación, para matar eficazmente la historia y tener la clave de nuevo acaba de salir de la aplicación. ¿Alguna sugerencia?
- Establecer dinámicamente el color del tema
- El flujo maestro / detallado tiene un nivel mínimo de api igual al uso
- ¿Cuál es la sintaxis correcta para definir una actividad en el archivo de manifiesto
- Android: Actividad de configuración de Widget de aplicación no se comporta como Actividad (Editado desde: Android: AppWidget no incrustado en la pantalla de inicio)
- El botón de retroceso de Android no vuelve a la actividad anterior
- NavUtils.shouldUpRecreateTask falla en JellyBean
- Android Fragment onCreateView vs. onActivityCreated
- Android: ¿Por qué se llama onTabSelected cuando se crean pestañas?
- Intentar invocar método virtual
- No destruir un servicio enlazado Activar destruir
- Causado por java.lang.NullPointerException: Intenta invocar el método virtual 'int android.graphics.Bitmap.getWidth ()' en una referencia de objeto nulo
- ¿Cómo iniciar una actividad diferente usando la caja de conmutación en el elemento de menú?
- ¿Por qué se debe llamar OnCreate sólo una vez al inicio de la Actividad?
En primer lugar, establezca el taskAffinity en el manifiesto para que la Activity
ejecute como una "tarea" diferente:
<activity android:taskAffinity="" android:name=".IncomingShortcutActivity"> <intent-filter> <action android:name="com.example.App.Shortcut"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
a continuación, al crear el acceso directo, establezca los FLAG_ACTIVITY_NEW_TASK
y FLAG_ACTIVITY_CLEAR_TOP
. Algo como:
// build the shortcut's intents final Intent shortcutIntent = new Intent(); shortcutIntent.setComponent(new ComponentName(this.getPackageName(), ".IncomingShortcutActivity")); shortcutIntent.putExtra(EXTRA_STOPID, Integer.toString(this.stop_id)); 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); // Sets the custom shortcut's title intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, custom_title); // Set the custom shortcut icon intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.bus_stop_icon)); // add the shortcut intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); sendBroadcast(intent);
Intente agregar Intent.FLAG_NEW_TASK
al intento.
- Disposición de Android: cuándo utilizar la aplicación: vs android :?
- Cómo utilizar FirebaseInstanceId.getInstance (). DeleteInstanceId ()?