
这似乎是一个相当普遍的问题,没有一个好的答案.我刚刚关注GCM推送消息的谷歌指南,我收到此错误:
E/AndroIDRuntime(21779): java.lang.RuntimeException: Unable to start activity ComponentInfo{eric.bander.app/eric.bander.app.MenuScreen}: java.lang.IllegalStateException: Application does not define permission eric.bander.app.permission.C2D_MESSAGEE/AndroIDRuntime(21779): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1968)E/AndroIDRuntime(21779): at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)E/AndroIDRuntime(21779): at androID.app.ActivityThread.access0(ActivityThread.java:127)E/AndroIDRuntime(21779): at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)E/AndroIDRuntime(21779): at androID.os.Handler.dispatchMessage(Handler.java:99)E/AndroIDRuntime(21779): at androID.os.Looper.loop(Looper.java:137)E/AndroIDRuntime(21779): at androID.app.ActivityThread.main(ActivityThread.java:4507)E/AndroIDRuntime(21779): at java.lang.reflect.Method.invokeNative(Native Method)E/AndroIDRuntime(21779): at java.lang.reflect.Method.invoke(Method.java:511)E/AndroIDRuntime(21779): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)E/AndroIDRuntime(21779): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:745)E/AndroIDRuntime(21779): at dalvik.system.NativeStart.main(Native Method)E/AndroIDRuntime(21779): Caused by: java.lang.IllegalStateException: Application does not define permission eric.bander.app.permission.C2D_MESSAGEE/AndroIDRuntime(21779): at com.Google.androID.gcm.GCMRegistrar.checkManifest(GCMRegistrar.java:137)E/AndroIDRuntime(21779): at eric.bander.app.MenuScreen.onCreate(MenuScreen.java:43)E/AndroIDRuntime(21779): at androID.app.Activity.performCreate(Activity.java:4469)E/AndroIDRuntime(21779): at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)E/AndroIDRuntime(21779): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1932)这是我的清单文件:
<uses-sdk androID:minSdkVersion="8" androID:targetSdkVersion="15" /><uses-permission androID:name="androID.permission.INTERNET" /><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.ACCESS_COARSE_LOCATION" /><uses-permission androID:name="androID.permission.CONTRol_LOCATION_UPDATES" /><uses-permission androID:name="androID.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" /><uses-permission androID:name="com.Google.androID.c2dm.permission.RECEIVE" /><uses-permission androID:name="androID.permission.GET_ACCOUNTS" /><uses-permission androID:name="androID.permission.WAKE_LOCK" /><permission androID:name="eric.bander.app.permission.C2D_MESSAGE" androID:protectionLevel="signature" /><uses-permission androID:name="eric.bander.app.permission.C2D_MESSAGE" /> <receiver androID:name="com.Google.androID.gcm.GCMbroadcastReceiver" 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="eric.bander.app" /> </intent-filter> </receiver>这是MainMenu中的一段代码:
GCMRegistrar.checkDevice(this);GCMRegistrar.checkManifest(this);final String regID = GCMRegistrar.getRegistrationID(this);if (regID.equals("")) { GCMRegistrar.register(this, "808426403545");} else { Toast.makeText(this, GCMRegistrar.getRegistrationID(this), Toast.LENGTH_LONG).show();}而且我不知道它的相关性,但我的应用程序结构与其他包中的GCM意图服务相似:
eric.bander -MainMenu.classeric.bander.misc -GCMIntentService.class我希望有人可以帮助解决这个问题,在您学习本教程时总会感到沮丧.
TIA
解决方法:
我的错误是将GCMIntentService放在与注册GCM的类不同的包中.
总结以上是内存溢出为你收集整理的android – C2D_MESSAGE权限错误?全部内容,希望文章能够帮你解决android – C2D_MESSAGE权限错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)