Exception lors de l'ouverture d'Analyser de notification push
J'configuration Analyser push Android SDK de la version 1.7.0 et peut recevoir pousse sans aucun problème. Cependant, lors de l'ouverture de la notification push de mon appli se bloque avec l'exception suivante:
android.contenu.ActivityNotFoundException: Pas d'Activité permet de manipuler les
L'intention { act=android.l'intention.d'action.VUE dat= flg=0x1000c000 (a
extras) }
J'ai aussi essayé sous-classement ParsePushBroadcastReceiver
avec getActivity()
revenant toujours la principale activité de la classe, même résultat. Ci-dessous, c'est la pleine stacktrace:
E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.ers.test, PID: 13513
java.lang.RuntimeException: Unable to start receiver com.ers.test.MyPushBroadcastReceiver: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat= flg=0x1000c000 (has extras) }
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2452)
at android.app.ActivityThread.access$1700(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat= flg=0x1000c000 (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)
at android.app.Instrumentation.execStartActivitiesAsUser(Instrumentation.java:1481)
at android.app.ContextImpl.startActivitiesAsUser(ContextImpl.java:1136)
at android.content.ContextWrapper.startActivitiesAsUser(ContextWrapper.java:344)
at android.content.ContextWrapper.startActivitiesAsUser(ContextWrapper.java:344)
at android.app.TaskStackBuilder.startActivities(TaskStackBuilder.java:221)
at android.app.TaskStackBuilder.startActivities(TaskStackBuilder.java:232)
at android.app.TaskStackBuilder.startActivities(TaskStackBuilder.java:208)
at com.parse.TaskStackBuilderHelper.startActivities(TaskStackBuilderHelper.java:19)
at com.parse.ParsePushBroadcastReceiver.onPushOpen(ParsePushBroadcastReceiver.java:202)
at com.parse.ParsePushBroadcastReceiver.onReceive(ParsePushBroadcastReceiver.java:108)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2445)
at android.app.ActivityThread.access$1700(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
- L'ajout de
<action android:name="android.intent.action.VIEW" />
à l'activité souhaitée n'aide pas. - aucune solution de contournement?
Vous devez vous connecter pour publier un commentaire.
Après avoir passé quelques heures. Trouvé une solution:
Mettre en œuvre votre récepteur et s'étend ParsePushBroadcastReceiver classe.
Receiver.java
L'utiliser dans le manifeste, (au Lieu d'utiliser ParsePushBroadcastReceiver)
De Code pour le projet de manifeste:
Codage Heureux!!
PushService.setDefaultPushCallback(this, MainActivity.class);
De MyApplication.java, quand je le fais je ne peux plus récupérer les notifications push? Mais est amorti je ne sais donc pas pourquoi il devrait être gardé?PushService.setDefaultPushCallback(this, MainActivity.class);
ou u ne le supprimer voir le commentaire ci-dessusActivity
, vous devez utiliser le réponse, qui est essentiellement l'analyse de code source avec une ligne ajoutée.La cause de cette exception est lorsque
ParsePushBroadcastReceiver
veut ouvrir le vide uri dans votre message push dans ce code :Si vous il suffit de pousser un message, le
uriString
sera vide n'est pas null, Alorscontext.startActivity(activityIntent);
ouvrira un vide d'uri et d'exception se produit.Pour résoudre ce problème, vous pouvez sous-classe
ParsePushBroadcastReceiver
(merci à @Ahmad Raza) et remplacer onPushopen comme ceci :et mise à jour de Manifester comme ceci :
J'espère qu'ils vont résoudre le problème dans la prochaine mise à jour.