2010-05-02 11 views
20

Sé que llamar a finish() en la actividad producirá el mismo resultado que si el usuario hiciera clic en el botón Atrás; ¿Hay algo similar para el botón de Inicio? (quisiera mostrar automáticamente la pantalla de inicio después de determinada acción).Android - Simular Inicio haga clic en

EDITAR: También, apreciaría lo mismo para Menú & Botones de búsqueda.

Gracias!

Respuesta

56

Usted puede simplemente utilizar un Intento de que:

Intent i = new Intent(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_HOME); 
startActivity(i); 
+10

leí esto una s "Hay una intención para eso" y se rió un poco :) – alexanderblom

+2

Esto no parece funcionar para API 4 (1.6)? No hay Intent.ACTION_HOME ... – kape123

+1

no hay "Intent.ACTION_HOME" - no existe. De acuerdo con http://developer.android.com/reference/android/content/Intent.html debería ser: "ACTION_MAIN con categoría CATEGORY_HOME - Iniciar la pantalla de inicio – mishkin

7

INICIO:

 
Intent showOptions = new Intent(Intent.ACTION_MAIN); 
showOptions.addCategory(Intent.CATEGORY_HOME); 
startActivity(showOptions); 

MENÚ:

 
openOptionsMenu(); 
// this won't work from onCreate 
// if anyone has idea how it would work 
// please post it as response 
3
startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)); 
0

La solución más cercana para simular el hogar clic que me encontrado fue:

El botón de inicio de registro del sistema clic:

I/ActivityManager: START u0 {act = android.intent.action.MAIN cat = [android.intent.category.HOME] flg = 0x10200000 cmp = com.belauncher/.ui.activities.MainActivity (tiene extras)} de fluido 1000 en exhibición 0

Simulación intención:

Intent i = new Intent(Intent.ACTION_MAIN); 
      i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
      i.addCategory(Intent.CATEGORY_HOME); 
      startActivity(i); 
Cuestiones relacionadas