/ / Is com.google.android.c2dm.intent.RECEIVE все още в употреба? - андроид, Android-intent, push-notification, google-cloud-съобщения

Дали com.google.android.c2dm.intent.RECEIVE все още се използва? - андроид, Android-intent, push-notification, google-cloud-съобщения

Виждал съм, че самият c2dm е отхвърлен. Но новият метод, Google Cloud Messaging, изглежда, че изпраща намерения с com.google.android.c2dm.intent.RECEIVE като действие.

Моят код използва това, за да получи регистрационния ключ:

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

Нещата идват правилно, но се чудя дали съм оставил нещо в половин отхвърлено състояние.

Отговори:

8 за отговор № 1

Да, com.google.android.c2dm.intent.RECEIVE все още се използва. Той се използва при получаване на излъчване от GCM сървър, който съдържа съобщение от GCM. Въпреки че C2DM е отдавна отхвърлен, GCM все още използва някои имена, които съдържат c2dm.

Както можете да видите в тази явна проба (взета от Ръководство за GCM), има няколко места, които все още използват имена, съдържащи c2dm или C2D :

<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>


2 за отговор № 2

Що се отнася до декларацията на получателя

    <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>

Google предложи да замени BroadcastReceiver с com.google.android.gms.gcm.GcmReceiver, точно както е показано по-долу.

<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>