4

我有一个用 trigger.io 构建的 Android 应用程序,使用 Parse 推送通知。应用程序已部署到 google play,并且推送通知运行良好。最近重新构建并部署到google play的新版本app,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

我已经在以下 Android 手机上彻底测试了该应用程序,但我自己无法复制该错误。

  • 三星 Galaxy Nexus
  • 三星盖乐世 S2
  • 三星盖乐世 S

有人可以建议这里出了什么问题以及如何使用 Trigger.io 解决它吗?

4

3 回答 3

1

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

于 2013-05-02T07:39:31.490 回答
0

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

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



<application
        android:name=".MyApplication"
...>
.
.
.
</application>
于 2014-09-05T05:37:49.657 回答
-1

这个问题在 Forge v1.4.32 中得到解决:http: //docs.trigger.io/en/v1.4/release-notes.html#v1-4-32

于 2013-03-13T23:34:59.970 回答