5

我尝试实施 GCM,但出现错误,我尝试在互联网上查找日志,但我不能。当代码出现这些行时,我在 logcat 收到错误

GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);

这个 logcat 输出是什么意思?

09-11 11:14:25.132: W/dalvikvm(11946): threadid=11: thread exiting with uncaught  exception (group=0x40aac210)
09-11 11:14:25.142: E/AndroidRuntime(11946): FATAL EXCEPTION: IntentService[ManagePushCommunicationService]
09-11 11:14:25.142: E/AndroidRuntime(11946): java.lang.IllegalStateException: Application does not define permission com.example.push.permission.C2D_MESSAGE
09-11 11:14:25.142: E/AndroidRuntime(11946):    at com.google.android.gcm.GCMRegistrar.checkManifest(GCMRegistrar.java:135)
09-11 11:14:25.142: E/AndroidRuntime(11946):    at com.example.push.services.ManagePushCommunicationService.startJob(ManagePushCommunicationService.java:156)
09-11 11:14:25.142: E/AndroidRuntime(11946):    at com.example.push.services.ManagePushCommunicationService.onHandleIntent(ManagePushCommunicationService.java:85)
09-11 11:14:25.142: E/AndroidRuntime(11946):    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
09-11 11:14:25.142: E/AndroidRuntime(11946):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-11 11:14:25.142: E/AndroidRuntime(11946):    at android.os.Looper.loop(Looper.java:137)
09-11 11:14:25.142: E/AndroidRuntime(11946):    at android.os.HandlerThread.run(HandlerThread.java:60)
09-11 11:19:25.162: I/Process(11946): Sending signal. PID: 11946 SIG: 9
4

4 回答 4

5

将权限放入清单文件:

<permission android:name="com.example.gcm.permission.C2D_MESSAGE"android:protectionLevel="signature"/>
            <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> 
            <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
于 2012-09-11T08:28:10.203 回答
0

把它放在你的清单中

<permission
        android:name="com.example.push.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
<uses-permission android:name="com.example.push.permission.C2D_MESSAGE" />
于 2012-09-11T08:26:48.663 回答
0

授予权限

<permission android:name="your package name.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="your package name.permission.C2D_MESSAGE" />
于 2015-04-16T11:01:52.797 回答
0

请按照以下步骤操作

1.在您的应用程序的库中包含“gcm.jar”

2. Android SDK Manager => Extras => Install Google Cloud Messaging for Android Library (Obsolete)

3. Android SDK Manager => Android 4.3 (API 18) => 安装 Google APIs

于 2014-03-31T09:38:44.490 回答