Android – ¿Qué intención tiene el problema del botón de inicio?

Me gustaría saber exactamente qué operación realiza un botón de inicio de dispositivos? Es decir, ¿qué intención, categoría de intención y acción se emiten al hacer clic en el botón de inicio? Que vuelve a la pantalla de inicio en blanco. Me gustaría saber qué implica la implementación de esta operación para que se produzca al hacer clic en mi propio botón personalizado. Gracias (PS sé que no es estándar, pero tampoco es mi dispositivo).

Si desea mostrar la pantalla de inicio, puede hacerlo mediante:

Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain); 

Actualización: ver esta muestra de aplicación: http://developer.android.com/resources/samples/Home/index.html

Esta es la intención en xml, en caso de que lo estés buscando:

  <activity android:name=".MainActivity" android:launchMode="singleTask" android:excludeFromRecents="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <!-- The following two intent-filters are the key to set homescreen --> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

Por favor, consulte aquí

También debe ser capaz de ver lo que sucede después de hacer clic en el botón Inicio de adb utilizando logcat opciones de depuración como;

Adb logcat *: W

Puede consultar el código:

 Button btnHome; btnHome = (Button) findViewById(R.id.Home); btnHome.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // sendKey(KeyEvent.KEYCODE_HOME); myHandler.sendEmptyMessage(Home); } }); class myRunnable implements Runnable { public myRunnable(int key) { this.keycode = key; } int keycode; @Override public void run() { sendKey(keycode); } public void sendKey(int keyCode) { System.out.println("Judy--------------------->sendkey " + keyCode); long now = SystemClock.uptimeMillis(); long n = System.currentTimeMillis(); try { KeyEvent down = new KeyEvent(now, now, KeyEvent.ACTION_DOWN, keyCode, 0); KeyEvent up = new KeyEvent(now, now, KeyEvent.ACTION_UP,keyCode, 0); IWindowManager wm = IWindowManager.Stub.asInterface(ServiceManager .getService("window")); wm.injectKeyEvent(down, false); wm.injectKeyEvent(up, false); } catch (RemoteException e) {} } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.