com.google.android.c2dm.intent.RECEIVE仍在使用中吗?

我已经看到,c2dm本身已被弃用。 但是,新的方法Google Cloud Messaging似乎将com.google.android.c2dm.intent.RECEIVE作为动作发送。

我的代码是用这个来获得注册码:

gcm = GoogleCloudMessaging.getInstance(getApplicationContext()); gcm.register(SENDER_ID); 

事情到达正确,但我想知道,如果我已经放弃了一半的弃用状态。

Solutions Collecting From Web of "com.google.android.c2dm.intent.RECEIVE仍在使用中吗?"

是的, com.google.android.c2dm.intent.RECEIVE仍在使用中。 当从GCM服务器接收到包含GCM消息的广播时使用它。 尽pipeC2DM已经过时,但GCM仍然使用一些包含c2dm名称。

正如您在本清单示例中所看到的(从GCM指南中获取的 )那样,有多个地方仍使用包含c2dmC2D名称:

 <manifest package="com.example.gcm" ...> ... <permission android:name="com.example.gcm.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> <application ...> <receiver android:name=".GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.example.gcm" /> </intent-filter> </receiver> <service android:name=".GcmIntentService" /> </application> 

至于接收方声明

  <receiver android:name=".GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.example.gcm" /> </intent-filter> </receiver> 

Googlebuild议用com.google.android.gms.gcm.GcmReceiverreplaceBroadcastReceiver,就像下面一样。

 <receiver android:name="com.google.android.gms.gcm.GcmReceiver" 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="com.example.gcm" /> </intent-filter> </receiver>