2013-02-11 1 views
4

У меня есть приложение для Android, созданное с помощью trigger.io, с помощью оповещений о синтаксическом разборе. Приложение развернуто в Google Play, а push-уведомления работают нормально. Недавно перестроенная и развернутая в Google Play новая версия приложения с платформой Forge версии 1.4.29.Невозможно запустить приемник com.parse.ParseBroadcastReceiver on Trigger.io Android-приложение

С тех пор я получал следующие отчеты об ошибках через 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 и не в состоянии воспроизвести эту ошибку сам.

  • Samsung Galaxy Nexus
  • Samsung Galaxy S2
  • Samsung Galaxy S

Может кто-то предложить, что происходит здесь не так, и как я могу это исправить с Trigger.io?

+0

Вы используете новейший SDK. Я считаю, что это ошибка Parse, которая была исправлена ​​в недавнем обновлении. –

+0

Я использую 1.1.11, указанную в последней версии в списке изменений https://parse.com/docs/downloads – Meirion

+0

Официальный ответ от Trigger.IO был бы полезен здесь. – Meirion

ответ

-1

Эта проблема решена в Forge v1.4.32: http://docs.trigger.io/en/v1.4/release-notes.html#v1-4-32

+1

После обновления до версии 1.4.32 некоторые из наших пользователей по-прежнему испытывают сбой с немного другой трассировкой стека. Он начинается с 'java.lang.RuntimeException: произошла ошибка при выполнении doInBackground()'. Несмотря на то, что это, по-видимому, влияет на меньшее количество пользователей, число аварий все еще вызывает тревогу. Вот соответствующий отчет на форумах Parse: https://parse.com/questions/androidcontentreceivercallnotallowedexception-when-registering-for-push-notifications –

+0

Я также получаю эти новые трассировки стека 'java.lang.RuntimeException: ошибка возникла во время выполнения doInBackground() ' – Meirion

0

Недавно я имел эту проблему и ничего общего с версии Разбор. Проблема заключалась в том, что инициализация Parse была выполнена на Activity вместо Application. Широковещательный приемник может запускаться до Activity и писать собственный класс приложения и инициализировать Parse in onCreate.

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



<application 
     android:name=".MyApplication" 
...> 
. 
. 
. 
</application>