我的Urban Airship推动器在设备上随机失败。在失败的情况下,我可以通过wifi看到底层的GCM消息正确到达设备,但是GCM消息正在被阻止而没有被转发到Urban Airship层(正如您在以下日志中看到的那样):
GCM : GCM message com.example.app
GCM/DMM : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.example.app (has extras) }
BroadcastQueue: Unable to launch app com.example.app/10055 for broadcast Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10 pkg=com.example.app (has extras) }: process is bad
请记住,我的大多数UA推送(在同一设备上的同一个应用程序中)都可以正常工作,因此这可能不是典型的配置问题。当我的推送成功时,日志看起来像这样:
GCM : GCM message com.example.app
UALib : PushService startService
UALib : Received GCM push
UALib : Incrementing notification id count UALib : Notification id: 1001
Example: Received intent: Intent { act=com.urbanairship.push.PUSH_RECEIVED flg=0x10 cmp=com.example.app/.ua.UaExtraReceiver (has extras) }
Example: ACTION_PUSH_RECEIVED. alert:i like potatoes, id:1001
顺便说一句,我在Kitkat平板电脑上使用UrbanAirship 3.2.0 jar。
答案 0 :(得分:0)
我有类似的错误,我必须保持我的FCM服务导出。 添加:
android:exported="true"
或完全删除导出。
我的服务现在看起来像这样:
<service
android:name=".service.MyFirebaseMessagingService"
android:exported="true"
>
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".service.MyFirebaseInstanceIdService"
android:exported="true"
>
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>