Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo utilizar IntentCompat.makeRestartActivityTask ()?

Estoy tratando de implementar un botón que resultará en mi aplicación de volver a la primera actividad y actuar como si fuera (casi) reiniciado todo. Este código

Intent newIntent = new Intent(currentActivity.getApplicationContext(), StartActivity.class); newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_CLEAR_TASK); currentActivity.startActivity(newIntent); 

Parece estar funcionando bien para una tableta más nueva que ejecuta Android 4.1, pero no funciona en un dispositivo antiguo que ejecute Android 2.3.4.

He encontrado un par de hilos sobre esto:

Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK no funciona Android

¿Borrar todas las actividades en una tarea?

Leer la letra pequeña me lleva a creer que debería estar usando la clase IntentCompat en android-support-v4.jar, http://developer.android.com/reference/android/support/v4/content/IntentCompat.html

Desafortunadamente, la documentación no contiene ejemplos, y estoy muy inseguro de cómo debo usar IntentCompat. El único ejemplo que he encontrado es esto: No iniciar MainActivity con android 2.3

Lo que me lleva a creer que debería estar haciendo algo como esto:

  Intent newIntent = IntentCompat.makeRestartActivityTask(cn); 

Pero esto me está dando un error de compilador, diciendo "makeRestartActivityTask" es un símbolo indefinido.

Supongo que esto implica que no he añadido android-support-v4.jar correctamente a mi entorno de compilación (IntelliJ IDEA 12 edición de la comunidad), pero he intentado hacerlo de varias maneras diferentes, y todavía no funciona .

Así que tengo dos preguntas:

  1. ¿Mi intento de uso de IntentCompat parece correcto?

  2. ¿Cómo consigo que el compilador deje de decir que "makeRestartActivityTask" es un símbolo indefinido?

One Solution collect form web for “Cómo utilizar IntentCompat.makeRestartActivityTask ()?”

Así es como uso IntentCompat

  Intent intentToBeNewRoot = new Intent(this, MainActivity.class); ComponentName cn = intentToBeNewRoot.getComponent(); Intent mainIntent = IntentCompat.makeRestartActivityTask(cn); startActivity(mainIntent); 

Esto reemplaza eficazmente mi raíz de tarea no deseada con MainActivity. Funciona en Gingerbeard e ICS. No he visto el mensaje "es un símbolo indefinido".

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.