Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Trigger.io Android应用程序上启动receiver com.parse.ParseBroadcastReceiver_Android_Push Notification_Trigger.io_Parse Platform - Fatal编程技术网

无法在Trigger.io Android应用程序上启动receiver com.parse.ParseBroadcastReceiver

无法在Trigger.io Android应用程序上启动receiver com.parse.ParseBroadcastReceiver,android,push-notification,trigger.io,parse-platform,Android,Push Notification,Trigger.io,Parse Platform,我用trigger.io构建了一个Android应用程序,使用解析推送通知。 该应用程序被部署到谷歌播放和推送通知一直工作良好。最近重新构建并部署到google play的应用程序的新版本,Forge平台版本为1.4.29 从那时起,我通过Google Play收到了以下崩溃报告: java.lang.RuntimeException: Unable to start receiver com.parse.ParseBroadcastReceiver: android.content.Recei

我用trigger.io构建了一个Android应用程序,使用解析推送通知。 该应用程序被部署到谷歌播放和推送通知一直工作良好。最近重新构建并部署到google play的应用程序的新版本,Forge平台版本为1.4.29

从那时起,我通过Google Play收到了以下崩溃报告:

java.lang.RuntimeException: Unable to start receiver com.parse.ParseBroadcastReceiver: android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to register to receive intents
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2236)
at android.app.ActivityThread.access$1500(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to register to receive intents
at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:125)
at android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:119)
at com.parse.ParseCommandCache.<init>(ParseCommandCache.java:132)
at com.parse.Parse.getCommandCache(Parse.java:450)
at com.parse.ParseObject.saveEventually(ParseObject.java:1022)
at com.parse.ParseInstallation.saveEventually(ParseInstallation.java:170)
at com.parse.ParsePushRouter.saveEventually(ParsePushRouter.java:92)
at com.parse.ParsePushRouter.ensureStateIsLoaded(ParsePushRouter.java:208)
at com.parse.ParsePushRouter.hasRoutes(ParsePushRouter.java:122)
at com.parse.PushService.startServiceIfRequired(PushService.java:129)
at com.parse.ParseBroadcastReceiver.onReceive(ParseBroadcastReceiver.java:19)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2229)
... 10 more
java.lang.RuntimeException:无法启动receiver com.parse.ParseBroadcastReceiver:android.content.ReceiverCallNotAllowedException:IntentReceiver组件不允许注册以接收意图
位于android.app.ActivityThread.HandlerReceiver(ActivityThread.java:2236)
在android.app.ActivityThread.access,售价1500美元(ActivityThread.java:130)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:4745)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
在dalvik.system.NativeStart.main(本机方法)
原因:android.content.ReceiverCallNotAllowedException:不允许IntentReceiver组件注册以接收意图
位于android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:125)
位于android.app.ReceiverRestrictedContext.registerReceiver(ContextImpl.java:119)
位于com.parse.ParseCommandCache。(ParseCommandCache.java:132)
位于com.parse.parse.getCommandCache(parse.java:450)
位于com.parse.ParseObject.savefinally(ParseObject.java:1022)
位于com.parse.ParseInstallation.savefinally(ParseInstallation.java:170)
位于com.parse.ParsePushRouter.savefinally(ParsePushRouter.java:92)
在com.parse.ParsePushRouter.isloaded上(ParsePushRouter.java:208)
在com.parse.ParsePushRouter.hasRoutes上(ParsePushRouter.java:122)
位于com.parse.PushService.startServiceIfRequired(PushService.java:129)
位于com.parse.ParseBroadcastReceiver.onReceive(ParseBroadcastReceiver.java:19)
位于android.app.ActivityThread.HandlerReceiver(ActivityThread.java:2229)
... 10多
我已经在以下Android手机上彻底测试了该应用程序,但我自己无法复制该漏洞

  • 三星Galaxy Nexus
  • 三星Galaxy S2
  • 三星Galaxy S

有人能告诉我这里出了什么问题,以及我如何用Trigger.io修复它吗?

这个问题在Forge v1.4.32中得到了解决:

这个问题在Forge v1.4.37中得到了修复,其中包括对Parse Android SDK v1.2.3的更新


最近我遇到了这个问题,与解析版本无关。问题是解析的初始化是在活动而不是应用程序上完成的。广播接收器可以在活动开始之前启动,编写自定义应用程序类并在onCreate中初始化解析,这会有所帮助

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //Initialize Parse here
    }
}



<application
        android:name=".MyApplication"
...>
.
.
.
</application>
公共类MyApplication扩展应用程序{
@凌驾
public void onCreate(){
super.onCreate();
//在这里初始化解析
}
}
.
.
.

您正在使用最新的SDK吗。我相信这是一个在最近的更新中修复的解析错误。我使用的是1.1.11,在这里作为变更日志上的最新版本列出。Trigger.IO的官方答案在这里会很有用。你能将你的应用配置和示例代码发送到support@trigger.io?当然,刚刚发送了一条消息。更新到v1.4.32后,我们的一些用户仍在经历与堆栈跟踪略有不同的崩溃。它以
java.lang.RuntimeException开头:在执行doInBackground()时发生错误。
。尽管它似乎影响较少的用户,但崩溃的数量仍然高得惊人。以下是解析论坛中的相关报告:我现在也收到了这些新的堆栈跟踪
java.lang.RuntimeException:执行doInBackground()时出错