android - Intent 返回错误的数据

标签 android android-intent android-activity bundle android-pendingintent

我有这个功能来创建通知:

   NotificationCompat.Builder mBuilder =
                    new NotificationCompat.Builder(context)
                            .setSmallIcon(R.drawable.notification_icon)
                            .setContentTitle(title)
                            .setSound(alarmSound)
                            .setContentText(subtitle);
            if(haveIntent) {
                Intent intent = new Intent(context, PSBeaconMainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.putExtra("idToPass", beaconSettingID);
                PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0);
                mBuilder.setContentIntent(pIntent);
            }
            int mNotificationId = 001;
            NotificationManager mNotifyMgr =
                    (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
            mNotifyMgr.notify(mNotificationId, mBuilder.build());

我现在发送 beaconSettingID 的硬编码值,例如: https://scontent-amt2-1.xx.fbcdn.net/v/t35.0-12/28822214_1907084479363661_711965391_o.png?oh=b4c247836bcbd572d27f53738d2bdf6c&oe=5AA0C75E

这是我的 getIntent.getBundle:

   if (bundle != null && bundle.containsKey("idToPass")) {
        beaconUUID = bundle.getString("idToPass");
    }

但是我得到了这个: https://scontent-amt2-1.xx.fbcdn.net/v/t35.0-12/28768405_1907084916030284_1955200830_o.png?oh=bcccf27352c90b248e82e08d902b8c15&oe=5AA1BA02

我不明白? beaconID 是之前“额外” key 的名称。从那以后我删除了应用程序,并将其更改为 idToPass。但我仍然得到旧 key ,不仅如此,它的值是错误的。为什么会这样?

最佳答案

删除应用并不意味着您删除了之前的通知。 尝试改变

PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0);

到:

PendingIntent pIntent = PendingIntent.getActivity(context, SOME_UNIQUE_ID, intent, 0);

为了创造新的

或者:

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

更新之前的通知

希望对你有帮助

关于android - Intent 返回错误的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49133482/

相关文章:

java - 如何将对象存储到 Android 中的 SQLite 数据库中?

android - 如何监听我的应用程序和日历应用程序何时收到通知?

android - 实现 ComponentCallbacks 以监听 onConfigurationChanged

java - Android Studio 中播放的本地视频存放在哪里

java - Android 编程新手,尝试创建导致登录屏幕的登录按钮。当我单击登录按钮时,应用程序显示 "stopped working"

android - 调用 intent.getExtras() 时 ICS 崩溃

android - 从另一个应用程序调用 Activity

java - 在 Parse 上使用 Google+ 登录

java - 不满意的链接错误 : Android JNI

android - 从微调器开始新的 Activity