デバイスの登録を解除して、もう一度登録してみてください。DemoActivity.javaに入れます
final String regId = GCMRegistrar.getRegistrationId(this);
GCMRegistrar.unregister(this);
GCMRegistrar.unregister(this);
次に、 2回目の起動で削除 します。
アップデート
アプリケーションの通知:
クラスを作成する
public class DemoApplication extends Application {
private class NotifyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "RECEIVE MESSAGE", Toast.LENGTH_SHORT).show();
}
}
private NotifyReceiver notifyReceiver = new NotifyReceiver();
@Override
public void onCreate() {
registerReceiver(notifyReceiver, new IntentFilter("GCM_MESSAGE"));
super.onCreate();
}
@Override
public void onTerminate() {
unregisterReceiver(notifyReceiver);
super.onTerminate();
}
}
次に入れます
<application
android:name=".DemoApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
AndroidManifest.xmlで、ブロードキャストを送信します
@Override
protected void onMessage(Context context, Intent intent) {
Log.i(TAG, "Received message");
String message = getString(R.string.gcm_message);
displayMessage(context, message);
context.sendBroadcast(new Intent("GCM_MESSAGE"));
// notifies user
generateNotification(context, message);
}
別のケースとして、broadcastReceiverをManifest、Activity、またはForeGroundServiceに登録できます。