我不熟悉BroadcastReceiver
和。我正在学习http://developer.android.com/google/gcm/gs.html上的教程Service
GoogleCloudMessaging
在我将库导入我的工作区并将其引用到我的项目后,我得到了一个运行时异常"No class def found error"。我浏览了 Internet,发现错误可能与我有关AndroidManifest.xml
,这可能是有道理的,因为我不知道教程中描述的清单的一些事情。
例如:
<receiver
android:name=".MyBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.my.package" />
</intent-filter>
</receiver>
<service android:name=".MyIntentService" />
第一件事是,在教程中,他们声明了一个receiver
名称为“MyBroadcastReceiver”但后来他们定义了一个名为“GcmBroadcastReceiver”的类,它扩展了BroadcastReceiver
。所以我不知道它们是否是两个不同的东西,或者这是一个错误,它们应该命名相同。
第二件事是Service
。教程中没有服务。所以我想我想创建一个服务
第三件事是,我不明白BroadcastReceiver
and/or是如何或从哪里Service
调用的MainActivity
,它们是如何链接在一起的等等。
编辑:我正在使用新的 Google Cloud Messaging API