Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo podría Intent ser nulo en onHandleIntent ()?

Mi aplicación Android se bloquea y este es el logcat:

java.lang.NullPointerException at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:194) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.os.HandlerThread.run(HandlerThread.java:60) 

Miré en la fuente androide de gcm r3 y encontré que la intención del argumento es null en onHandleIntent ().

  • Cómo crear movimiento / cambiar el tamaño de las animaciones en Android?
  • ¿Cómo leer el archivo de texto en Android?
  • ¿Cuáles son las limitaciones de Python en Android?
  • ¿Por qué me estoy equivocando requestCode?
  • ActionBarActivity está obsoleto
  • JUnit4 - AssertionFailedError: No se han encontrado pruebas
  • ¿Es esto posible? ¿Como arreglarlo?

    (Se que se puede ver la intención nula con Service.onStartCopmmand devolver START_STICKY pero IntentService.onStartCommand no utiliza START_STICKY .)

  • Función de Android NDK __android_log_print andLogCat
  • Cómo establecer el mapa de bits en vista circular de la imagen?
  • Efecto de sombra en el rectángulo de lienzo
  • ¿Cómo determinar el recuento de métodos de la aplicación?
  • Android Studio: combinación de sabor de producto con más de dos dimensiones de sabor (grupos de sabor)
  • Admob vs AdSense
  • One Solution collect form web for “¿Cómo podría Intent ser nulo en onHandleIntent ()?”

    Creo que la aplicación se bloquea sólo en algunos dispositivos durante el tiempo de instalación. Es porque durante la instalación el servicio de GCM también recibe algún Intent de otra fuente de Google y su receptor de difusión no está preparado para manejar este tipo de Intent .

    Si sólo desea recibir el GCM Intent que desea extraer del servidor mediante notificación push, utilice esto en su llamada de llamada de intención.

     protected void onHandleIntent(Intent intent) { Bundle extras = intent.getExtras(); //String msg = intent.getStringExtra("message"); String from=extras.getString("from"); GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this); String messageType = gcm.getMessageType(intent); if (!extras.isEmpty()) { if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { sendErrorNotification("Send error: " + extras.toString()); } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) { sendErrorNotification("Deleted messages on server: " + extras.toString()); // If it's a regular GCM message, do some work. } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) { // This loop represents the service doing some work. for (int i = 0; i < 5; i++) { Log.i(TAG, "Working... " + (i + 1) + "/5 @ " + SystemClock.elapsedRealtime()); try { Thread.sleep(500); } catch (InterruptedException e) { } } Log.i(TAG, "Completed work @ " + SystemClock.elapsedRealtime()); // Post notification of received message. // sendNotification("Received: " + extras.toString()); /*********ERROR IN SOME DEVICES*****************/ if(from.equals("google.com/iid")) { //related to google ... DO NOT PERFORM ANY ACTION } else { //HANDLE THE RECEIVED NOTIFICATION String msg = intent.getStringExtra("message"); sendNotification(msg); Log.i(TAG, "Received: " + extras.toString()); } /**************************/ } } GcmBroadcastReceiver.completeWakefulIntent(intent); } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.