"允许拒绝:接收意图"的原因

use*_*805 2 android android-intent android-c2dm

我成功地使这些c2dm实现在我的应用程序上工作.

当设备突然没有收到c2dm消息时,我遇到了问题.这次它给了我许可否认,我很困惑:

权限拒绝:接收Intent {
act = com.google.android.c2dm.intent.REGISTRATION cat = [myapp.android](有额外内容)}到myapp.android需要myapp.android.permission.C2D_MESSAGE,因为发件人com.google. android.location(uid 10037)

它第二次发生在我身上,我不能告诉我的用户他们在没有收到任何命令时需要执行恢复出厂设置.这里有没有人遇到类似的问题?任何帮助或见解和原因将不胜感激.

manifest.xml按要求


   <receiver
        android:name="myapp.EmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

            <category android:name="myapp" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

...

<uses-permission android:name="myapp.android.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)

AAP*_*AAP 6

对我来说,它在我定义如下之后起作用:

<permission android:name="mypkg.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
<uses-permission android:name="mypkg.permission.C2D_MESSAGE"/>
Run Code Online (Sandbox Code Playgroud)

其中mypkg =是我的应用程序包