NullPointerException (@PhoneWindow: onKeyUpPanel: 1002) {main}
Recibo excepciones extrañas en mis análisis últimamente.
java.lang.NullPointerException at com.android.internal.policy.impl.PhoneWindow.onKeyUpPanel(PhoneWindow.java:1002) at com.android.internal.policy.impl.PhoneWindow.onKeyUp(PhoneWindow.java:1703) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2114) at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3626) at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3596) at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2839) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4904) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) at dalvik.system.NativeStart.main(Native Method)
Me falta una pista sobre lo que puedo hacer para evitar esto.
- Visualización de valores nulos después de que los primeros usuarios inicien sesión en android
- ¿Cuándo debo usar unbindService (), y cómo debo usarlo correctamente para desvincularme de un servicio remoto que está utilizando una interfaz AIDL?
- ERROR: NO SE PUEDE COMENZAR EL PROCESO DE DAEMON - Creación de Gradle en Android Studio 1.0
- Java-Android-Tiempo de proceso en la sentencia IF (código de tiempo real)
- Espere hasta que se complete la tarea
- ¿Cómo utilizo el convertidor Gson en RetroFit?
- Google android maps api v2 Mostrar el título del marcador Siempre
- Cómo deshabilitar / activar jackson SerializationFeature.WRAP_ROOT_VALUE?
- ¿Cómo usar Android build.xml en eclipse?
- No se puede comprobar el botón de radio
- Tipos incompatibles: HomeFragment no se puede convertir en Fragment en Android
- Cómo configurar admob en IntelliJ Idea?
- Cómo hacer un fragmento desplazable basado en el predeterminado android PageView
Hasta que LG corrija este problema (que podría ser meses, dependiendo del tiempo que tarda en liberar el nuevo firmware), la solución siguiente funcionó para mí. Sólo tienes que añadir el siguiente código a tu clase de Activity
:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU && "LGE".equalsIgnoreCase(Build.BRAND)) { return true; } return super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU && "LGE".equalsIgnoreCase(Build.BRAND)) { openOptionsMenu(); return true; } return super.onKeyUp(keyCode, event); }
Parece un error en la biblioteca de soporte en dispositivos LG https://code.google.com/p/android/issues/detail?id=78154
Implementamos una variante de la respuesta de Alex. Dado que el error sólo aparece en los dispositivos 4.1, preferimos no anular nada en versiones posteriores:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mightCrash(keyCode) || super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) { if (mightCrash(keyCode)) { openOptionsMenu(); return true; } return super.onKeyUp(keyCode, event); } /** * See https://code.google.com/p/android/issues/detail?id=78154 */ private boolean mightCrash(int keyCode) { return keyCode == KeyEvent.KEYCODE_MENU && "LGE".equalsIgnoreCase(Build.BRAND) && Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN; }
- Error al importar el proyecto androide ("La ubicación de Gradle es incorrecta" o "Causa: fin inesperado de los datos de bloque")
- Cómo ocultar el teclado virtual en el tacto de una ruleta