当前位置: 首页 > 知识库问答 >
问题:

GCM android错误接收广播意图{act=display.message flg=0x10(有附加)

金宣
2023-03-14

我有麻烦当我启动应用程序和注册设备在Gcm

知道怎么修好它吗?

其余的工作良好,我收到的通知和正确的。

private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {

            Log.v("MESSAGE", intent.getExtras().getString("message") );
            String newMessage = intent.getExtras().getString("message");
            // Waking up mobile if it is sleeping
            aController.acquireWakeLock(getApplicationContext());       
            Toast.makeText(getApplicationContext(), "Got Message: " + newMessage, Toast.LENGTH_LONG).show();
            // Releasing wake lock
            aController.releaseWakeLock();
        }
    };

错误

01-10 20:11:09.945: W/dalvikvm(20161): threadid=1: thread exiting with uncaught exception (group=0x40c5a1f8)
01-10 20:11:09.945: E/AndroidRuntime(20161): FATAL EXCEPTION: main
01-10 20:11:09.945: E/AndroidRuntime(20161): java.lang.RuntimeException: Error receiving broadcast Intent { act=example.gcm.testing.DISPLAY_MESSAGE flg=0x10 (has extras) } in example.gcm.testing.MainActivity$1@41a0a2d8
01-10 20:11:09.945: E/AndroidRuntime(20161):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at android.os.Handler.handleCallback(Handler.java:605)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at android.os.Looper.loop(Looper.java:137)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at android.app.ActivityThread.main(ActivityThread.java:4517)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at java.lang.reflect.Method.invokeNative(Native Method)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at java.lang.reflect.Method.invoke(Method.java:511)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at dalvik.system.NativeStart.main(Native Method)
01-10 20:11:09.945: E/AndroidRuntime(20161): Caused by: java.lang.NullPointerException
01-10 20:11:09.945: E/AndroidRuntime(20161):    at example.gcm.testing.MainActivity$1.onReceive(MainActivity.java:146)
01-10 20:11:09.945: E/AndroidRuntime(20161):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)

共有1个答案

储峻
2023-03-14

extra的代码返回null,

String newMessage = intent.getExtras().getString("message");

使用try catch,并确保您有额外的接收从那里!

 类似资料:
  • 我的android Vitals中有一些ANR: 意图广播{act=Android.Intent.Action.Screen_On flg=0x50200010(有附加内容)}或 广播意图{act=Android.Intent.Action.Screen_On flg=0x50000010}。 我也有一些ANR: 意图广播{act=Android.Intent.Action.Screen_off

  • 通知广播接收机: 谁能帮帮我吗?我不知道我做错了什么

  • 我正在编写一个用于usb主机通信的android应用程序。当按下按钮时,我正在发送来自android的样本数据。当我点击按钮时,它显示一个错误,称为错误接收广播意图。请告诉我如何解决这个问题。这是我的usb驱动程序活动: 这是我的usb处理器: 这是我的主要活动: 这是我的日志:

  • 我有一个很奇怪的问题。 我正在发送广播并设置一些额外内容,但接收者没有收到: 发送: 并收到: 由于某些原因,downloadID为空。有什么提示吗? 谢谢

  • 问题内容: 有人可以解释和之间的确切区别吗? 在什么情况下我们必须使用每个Receiver类? 问题答案: 和之间只有一个区别。 当您收到内部广播方法时, 假设, BroadcastReceiver : 它 不保证 该 CPU将保持清醒 ,如果你启动一些长时间运行的进程。CPU可能会立即回到睡眠状态。 WakefulBroadcastReceiver : 这是 保证 该 CPU将保持清醒 ,直到你