Android:无法实例化 C2DMBaseReceiver

标签 android android-c2dm

我直接将所有三个 C2DM 类从 Google Code 的 ChomeToPhone 扩展 ( http://code.google.com/p/chrometophone/.../c2dm ) 复制到我的项目中,然后按照 Android Cloud to Device Messaging Framework 上的说明修改我的 list 。页。当我运行我的程序时,出现以下错误。我不明白发生了什么或为什么:

06-12 18:50:43.243: ERROR/AndroidRuntime(923): FATAL EXCEPTION: main
06-12 18:50:43.243: ERROR/AndroidRuntime(923): java.lang.RuntimeException: Unable to instantiate receiver com.name.asdf.C2DMBaseReceiver: java.lang.InstantiationException: com.name.asdf.C2DMBaseReceiver
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2789)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.app.ActivityThread.access$3200(ActivityThread.java:125)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.os.Looper.loop(Looper.java:123)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at java.lang.reflect.Method.invokeNative(Native Method)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at java.lang.reflect.Method.invoke(Method.java:521)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at dalvik.system.NativeStart.main(Native Method)
06-12 18:50:43.243: ERROR/AndroidRuntime(923): Caused by: java.lang.InstantiationException: com.name.asdf.C2DMBaseReceiver
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at java.lang.Class.newInstanceImpl(Native Method)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at java.lang.Class.newInstance(Class.java:1429)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2780)
06-12 18:50:43.243: ERROR/AndroidRuntime(923):     ... 10 more

最佳答案

C2DMBaseReceiver 是一个抽象类,您无法实例化它。您应该子类化C2DMBaseReceiver并提供您自己的实现。然后在 list 中注册该类。请注意,您应该将该类放在包的根目录中。

关于Android:无法实例化 C2DMBaseReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6324116/

相关文章:

android - Android : Google GCM vs. Amazon SNS 上的推送通知?

android - 类似于 iOS for Android 中的 SDWebImage 的东西?

android - 如何从 URL 加载图像到 viewpager

android - 有没有人在无根的 Nexus 1 上安装了 JumpNote Android C2DM 演示应用程序?

Android C2DM ROLE 账号和包名

Android 和(数百万)推送通知

android - 我没有让应用程序在 C2DM 注册过程中崩溃?

android - RelativeLayout,将一个 View 对齐在另一个 View 的底部,但始终在另一个 View 下方

Android:ImageView 旋转动画只工作一次

java - MyApplication 无法分配给 Activity