Anulando la tecla Inicio Presión larga en una actividad category.HOME

Acabo de crear mi propio "Hogar" para reemplazar el androide uno o Sense.

Todo funciona bien y consigo todo lo que quiero. Mi único problema es reemplazar a la pulsación larga en la tecla de inicio (que por lo general muestran las últimas 6 actividades que lanzó) por mi propio lanzador.

Con éxito reemplazo la prensa larga en el botón del MENÚ con este código:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { //Log.i(TAG,"Keycode: "+keyCode); if (keyCode == KeyEvent.KEYCODE_MENU) { // this tells the framework to start tracking for // a long press and eventual key up. it will only // do so if this is the first down (not a repeat). event.startTracking(); return true; } (...) 

Y esta parte para la prensa larga:

  @Override public boolean onKeyLongPress(int keyCode, KeyEvent event) { //Log.i(TAG,"LONG"+keyCode); Toast.makeText(Launcher.this,"LONG "+keyCode, Toast.LENGTH_SHORT).show(); if (keyCode == KeyEvent.KEYCODE_MENU) { (...) 

Pero el problema es que no pude reemplazar KeyEvent.KEYCODE_MENU con KeyEvent.KEYCODE_HOME

Es que algo bloqueado en el código que evita que el usuario use una prensa de inicio largo?

Muchas gracias por toda la información que me darías.

Todo lo que he leído afirma que esto no se puede hacer … Aquí hay un post en Android Beginners donde hice una pregunta muy similar:

http://groups.google.com/group/android-beginners/browse_thread/thread/d8cdcd1c52d79ef1/0f4b184da6f248a9?lnk=gst&q=home+key#0f4b184da6f248a9

Sin embargo, recientemente he encontrado una aplicación que te permite lanzarla con doble pulsación en la tecla de inicio para que haya algo que se pueda hacer. Miré en ese acercamiento por un rato pero no podría conseguirlo trabajar. Ahora que sé que alguien más se dio cuenta de que voy a tomar otra puñalada en ella ….

EDITAR Mientras no se puede cancelar una pulsación prolongada del botón de inicio, he encontrado una manera de implementar con éxito una doble pulsación del botón de inicio. La idea general para esto es la siguiente:

  1. Haz que tu aplicación actúe como una aplicación de reemplazo de casa (mira la aplicación de inicio de muestra en las muestras de SDK)
  2. Permitir una forma en su aplicación para especificar una aplicación para el hogar a utilizar (es bastante sencillo para presentar al usuario una lista de aplicaciones de reemplazo en el hogar)
  3. En la primera pulsación del botón de inicio, se inicia un temporizador.
  4. Si el temporizador se agota, inicie la aplicación de inicio
  5. Si el usuario presiona la tecla de inicio una segunda vez antes de que el temporizador se detenga, inicie su aplicación

Esencialmente, la actividad de reemplazo del hogar no hace nada más que lanzar la aplicación de inicio real especificada por el usuario o iniciar su aplicación … Nunca muestra su propia interfaz de usuario.

He encontrado que esto funciona bastante bien, y realmente tienen una aplicación publicada en el Android Market que hace esto. Si desea verlo en acción, se denomina "Inicio rápido" y el nombre del editor aparece como "MagouyaWare"

¡Espero que esto ayude!

Puede registrar una actividad falsa para presionar prolongadamente el botón HOME

Añadiendo para manifestar:

 <intent-filter> ... <action android:name="android.intent.action.ASSIST" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> 

Encontré una forma de abordar la clave HOME. Para su aplicación, establezca el manifiesto como

  <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY"/> Now ur application is an alternate Launcher application. 

Utilice el adb y desactive la aplicación del lanzador mediante el administrador de paquetes

Pm desactivar com.android.launcher2.

Ahora la tecla de inicio de prensa permanecerá en la misma pantalla.

En realidad no hay mucho código. Voy a tratar de explicar si ayuda. Para la aplicación andriod en el archivo de manifiesto, generalmente mantenemos el filtro de intenciones como:

Instaed deberíamos hacer que el filtro de intenciones se vea así:

Este es el mismo filtro de intenciones que el de LAuncher.

Ahora tenemos una aplicación de lanzador alternativa. Para hacerla la única aplicación del lanzador tenemos que unistall / disable la aplicación lanzadora existente (lanzador del defecto en androide).

Para ello necesitamos conectar el dispositivo / emulador e iniciar el adb (android debug bridge). A continuación, siga los siguientes pasos:

Adb shell

Pm list packages // Esto enumerará todos los paquetes instalados

Pm disable com.android.launcher // Esto desactivará la aplicación del lanzador.

Reiniciar.

  • ¿Deshabilitar el botón de inicio en la aplicación para niños pequeños?
  • El botón HOME no funciona, ¿es posible escuchar?
  • Botón Principal de reemplazo para una aplicación de reemplazo de reemplazo para automóvil
  • Android: borra la lista de aplicaciones recientes (mostrada después de una larga pulsación HOME)
  • ¿Cómo lanzar el lanzador casero del defecto con código mientras que trabaja con el dispositivo verdadero?
  • No se puede inhabilitar el botón Inicio en dispositivos específicos de Android
  • Android: Cómo controlar el botón de inicio
  • ¿Cómo agregar el relleno / margen entre el icono y el botón Arriba de la barra de acción?
  • ¿Cómo agregar el indicador de "menú" junto al icono de la aplicación de Barra de Acción?
  • La aplicación de Android se reinicia al abrirla haciendo clic en el icono de la aplicación.
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.