0

我找到了大量解释 Google Cloud Messaging 的教程,但似乎都被新的Google Cloud Messaging Api
弃用了 事实上,我无法使用已弃用的 GcmRegistrar类获得有效的注册 ID!
在使用新的 api 时,我可以获得一个有效的注册 ID,并使用它来执行从我的服务器到谷歌的成功请求。

我不知道如何在 Android 应用程序中实现接收器,这将使我能够实际使用接收到的消息。
我猜 GCMBaseIntentService 和所有相关代码现在都已被弃用并以另一种方式实现

谷歌文档指的是这个:

<receiver android:name=".MyReceiver" android:exported="true"
 android:permission="com.google.android.c2dm.permission.SEND" >
 <intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    <category android:name="YOUR_PACKAGE_NAME" />
 </intent-filter>
</receiver>

那么我该如何实现这个MyReceiver呢?

4

1 回答 1

3

答案比我想象的要简单得多。
您不再需要 gcm.jar 或 gcm-server.jar。
不需要特殊服务,例如GCMIntentService
不需要接收器处理此操作:com.google.android.c2dm.intent.REGISTRATION

实际上,开发人员现在需要实现自己的 BroadcastReceiver,就这么简单:
Scala中

class MyReceiver extends BroadcastReceiver {
  def onReceive(context: Context, intent: Intent) {
    log log "we have received something!";
    val extraString = Option(intent.getStringExtra("json label here"));
    log log "the value of this json label is: " + extraString;
  }
}
于 2013-06-15T13:03:52.757 回答