Actividad onNewIntent Excepción de puntero nulo
Inicializo mis listas en mi actividad onCreate () como a continuación:
private List<MyItem> filtered; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dashboard); filtered = new ArrayList<>(); // more things }
Y cuando intento utilizar los elementos filtrados de onNewIntent a veces obtengo una excepción de puntero nulo.
- Fije onclicklistener en un botón dentro de un DialogFragment
- Error al entregar el resultado ResultInfo {who_null, request = 1, result = -1, data = Intent {(tiene extras)}} a la actividad; NullPointerException
- RecyclerViewAdapter.notifyDataSetChanged () en una referencia de objeto nulo
- FindFragmentById devolver null
- Mi ubicación actual siempre devuelve null. ¿Cómo puedo arreglar esto?
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); filtered.clear(); }
¿Cómo podría ser posible?
Editar: El modo de inicio de Mi actividad es SingleTask
Editar 2:
No puedo enviar más registros útiles porque este fallo está en producción. Sólo consigo algunos registros de tela.
Gracias por tu ayuda pero no puedo pegar la causa del código entero de privacidad.
Creo que tengo un problema en el uso SingleTask-OnCreate-OnNewIntent. Simplemente estoy tratando de abrir mi aplicación de la notificación con un parámetro decide qué fragmento se abrirá cuando el usuario navega a la actividad.
¿Tiene ejemplos sobre esto que contiene implementaciones SingleTask-OnCreate-OnNewIntent?
Gracias a todos por su ayuda.
- Puntero nulo Excepción - findViewById ()
- Advertencias / avisos de nullpointer de estudio de Android en la vista de código
- Nullpointerexcepiton en el cursor al seleccionar la foto de la galería en el fragmento de diálogo
- Después de onLongPress, la primera vista en gridview obtiene NullPointerException en startDrag
- Xml getText devolver null - Android
- - java.lang.NullPointerException - setText en la referencia de objeto nulo
- Java.lang.NullPointerException en getapplicationContext () al iniciar el adaptador
- ¿Por qué File.listFiles devuelve null cuando se llama a un directorio?
El equipo de Open Whisper Systems encontró el mismo problema:
https://github.com/WhisperSystems/Signal-Android/issues/2971
Ellos piensan que es causado por el framework Android llamando onNewIntent()
muy poco después de onCreate()
, incluso si llamas finish()
desde dentro de tu onCreate()
. Esto hace que null
objetos null
se utilicen en onNewIntent()
y, a continuación, NullPointerException
, ya que los objetos no se han configurado en el onCreate()
habitual onCreate()
. Parece ser un escenario raro o una condición de carrera entre onCreate()
y onNewIntent()
.
Parece que lo han arreglado revisando isFinishing()
en onNewIntent()
para evitar que onNewIntent()
continúe:
@Override protected void onNewIntent(Intent intent) { Log.w(TAG, "onNewIntent()"); if (isFinishing()) { Log.w(TAG, "Activity is finishing..."); return; } ... }
Fuente 1: https://github.com/SilenceIM/Silence/commit/c0acae1124c0c066fd961d21d3ec9b989574125d
Mantenga el ciclo de vida en mente, tal vez usted está regresando a su actividad desde algún punto donde onCreate () no se llama (por ejemplo, si ha establecido launchMode = singleTask o algo en su manifiesto). Tal vez inicializar / repoblar su ArrayList en onResume () y también comprobar si no es nulo, en Resume () se llama con seguridad cuando vuelva a su actividad.
Si está recibiendo NullPointerException
en el método onNewIntent()
probablemente el objeto filtered
sea nulo.
Prueba de esta manera
@Override protected void onNewIntent(Intent intent) { //Check for null value and then proceed. if(filtered != null) filtered.clear(); }
- ¿Cómo puedo utilizar un cursorLoader en un ViewPager?
- La actualización automática de una aplicación para Android nunca ocurre