1
я в настоящее время создать BroadcastReceiver вроде этого: В моем фрагменте:Пользовательские GCMBroadcastReceiver
receiver=new GcmBroadcastReceiverLobby();
IntentFilter filter =new IntentFilter("com.google.android.c2dm.intent.RECEIVE");
filter.setPriority(9999);
filter.addAction("com.google.android.c2dm.intent.RECEIVE");
getActivity().registerReceiver(receiver, filter);
class GcmBroadcastReceiverLobby extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String messageType = extras.toString();
setResultCode(Activity.RESULT_CANCELED);
abortBroadcast();
}
}
Проблема заключается в intent.getExtras не возвращает детали из GCM-сообщение.
<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="de.battlestr1k3.gamelobbies" />
</intent-filter>
</receiver>
<service android:name=".GcmIntentService" android:exported="true" />
GcmBroadcastReceiverLobby имеет более высокий приоритет, поэтому он сначала получает уведомление. Возможно, мне не хватает разрешения в коде?
extras.toString()
возвращает Пачка [mParcelledData.dataSize = 280]