私は次のコードを持っています:
@Override
protected void onMessage(Context context, Intent intent) {
Log.i(TAG, "Received message");
Bundle extras = intent.getExtras();
Log.i(TAG, "===> " + extras.toString());
if (extras != null) {
String message = (String) extras.get("mainKey");
// notifies user
Log.i(TAG, message);
}
}
サーバーからメッセージを取得できますが、extras.get("mainKey");
null を返すため問題があると思います (と思います)。Logcat はこのログを示します:
05-07 16:01:53.666: I/GCMIntentService(10959): Received message
05-07 16:01:53.671: I/GCMIntentService(10959): ===> Bundle[{title=Hesam has sent you a message., collapse_key=do_not_collapse, conversation_id=90, msg_id=456, user_id=22, from=1014390164590, type=message}]
05-07 16:01:53.671: V/GCMBaseIntentService(10959): Releasing wakelock
05-07 16:01:53.676: W/dalvikvm(10959): threadid=33: thread exiting with uncaught exception (group=0x40c571f8)
05-07 16:01:53.686: E/AndroidRuntime(10959): FATAL EXCEPTION: IntentService[GCMIntentService-1014390164590-1]
05-07 16:01:53.686: E/AndroidRuntime(10959): java.lang.NullPointerException: println needs a message
05-07 16:01:53.686: E/AndroidRuntime(10959): at android.util.Log.println_native(Native Method)
05-07 16:01:53.686: E/AndroidRuntime(10959): at android.util.Log.i(Log.java:190)
05-07 16:01:53.686: E/AndroidRuntime(10959): at com.belldigital.utility.Log.i(Log.java:16)
05-07 16:01:53.686: E/AndroidRuntime(10959): at com.belldigital.fancied.GCMIntentService.onMessage(GCMIntentService.java:71)
05-07 16:01:53.686: E/AndroidRuntime(10959): at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:223)
05-07 16:01:53.686: E/AndroidRuntime(10959): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
05-07 16:01:53.686: E/AndroidRuntime(10959): at android.os.Handler.dispatchMessage(Handler.java:99)
05-07 16:01:53.686: E/AndroidRuntime(10959): at android.os.Looper.loop(Looper.java:137)
05-07 16:01:53.686: E/AndroidRuntime(10959): at android.os.HandlerThread.run(HandlerThread.java:60)
サーバーから送信したものを見ることができますが、extras.get("mainKey");
何も返されません。以前にこの問題に直面したことのある人はいますか? 任意の提案をいただければ幸いです。ありがとう。