web-dev-qa-db-fra.com

Exception fatale: Android.app.RemoteServiceException: impossible de diffuser la diffusion sur Android.os.Handler.dispatchMessage

J'utilise des messages de diffusion sur mon Android (depuis io.socket j'envoie des messages de diffusion sur ma page d'activité). Sur certains appareils Samsung SM-G950F et - SM-A520F J'ai une erreur "Fatal Exception: Android.app.RemoteServiceException: can't deliver broadcast ". J'ai obtenu cette erreur sur Fabric crashlytics et je n'ai pas pu reproduire ce problème. Voici le journal que j'ai reçu de Fabric,

   Fatal Exception: Android.app.RemoteServiceException: can't deliver broadcast
   at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1813)
   at Android.os.Handler.dispatchMessage(Handler.Java:102)
   at Android.os.Looper.loop(Looper.Java:154)
   at Android.app.ActivityThread.main(ActivityThread.Java:6776)
   at Java.lang.reflect.Method.invoke(Method.Java)
   at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1520)
   at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:1410)
16
SHIDHIN.T.S

J'étais confronté au même problème avec mon application, ce que je fais, c'est utiliser LocalBroadcastManager au lieu du contexte. Android suggèrent également d'utiliser LocalBroadcastManager pour envoyer des récepteurs de diffusion intégrés à l'application.

//register your receiver like this
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
          new IntentFilter("custom-event-name"));

// unregister  like this
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);

// broadcastlike this
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

J'espère que cela vous aidera. Merci! :)

6
Asheesh

J'ai vécu exactement la même chose, à peu près au même moment, avec les mêmes appareils. Le problème était finalement lié à l'application que je soutiens, mais je pense que Samsung a sorti un certain type de mise à jour qui a commencé à déclencher le problème. Avant la dernière partie d'octobre, l'application n'avait jamais rencontré ce problème. Cela me rendait fou parce que je ne pouvais pas déterminer quelle émission déclenchait le problème.

Sur la base des commentaires des utilisateurs, je l'ai finalement réduit et apporté les modifications suivantes:

1) J'ai parcouru l'application et je me suis assuré que toutes les chaînes "d'action" personnalisées utilisées pour Intents incluaient le nom du package de l'application.

2) Je suis passé de Context :: sendBroadcast () à LocalBroadcastManager :: sendBroadcast ().

Vous pouvez voir ma réponse complète sur un autre post ici

3
klaust