gpt4 book ai didi

java - 从多个通知托盘中点击相同的 Activity ,每个通知托盘都有不同的数据

转载 作者:太空狗 更新时间:2023-10-29 14:35:26 24 4
gpt4 key购买 nike

我需要从多个通知托盘打开同一个 Activity ,每个通知都会为 Activity 带来不同的数据

尝试将 launchMode 应用为 SingleTopSingleTask 也尝试通过设置不同的 ACTIVITY_FLAGS

例如,如果服务器向同一个 Activity 返回 6 个通知,那么如果我单击任何通知,它会打开 Activity ,其中包含来自第一个通知到移动设备的信息,而不是所有

list 中的一段代码

<activity android:launchMode="singleTop" android:name=".activity.EditAssuranceActivity" />

Notification Receiver Activity 中的一段代码(点击 EditAssuranceActivity)

if (targetActivity.equals("events")) {
intent = new Intent(this, ViewEventActivity.class);
intent.putExtra("page_title", Message);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
} else if (targetActivity.equals("assurances")) {
intent = new Intent(this, EditAssuranceActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("page_title", Message);
}
else {
intent = new Intent(this, MainActivity.class);
}
intent.putExtra("_id", parameter_id.get("post_id"));

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
PendingIntent.FLAG_ONE_SHOT);

最佳答案

在设置我在 PendingIntent.getActivity(this, 0/* Request code */, intent,PendingIntent.FLAG_ONE_SHOT); 中传递的 'requestCode' 的值后,我得到了预期的解决方案一些随机数而不是 0。

来自服务器的不同通知遍历相同的代码,但每次“requestCode”都会获得不同的随机数,因此在单击每个通知后,相同的 Activity 将打开,并带有该特定通知带来的值。

上一个代码

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,PendingIntent.FLAG_ONE_SHOT);

修改后的代码

Random random1 = new Random();
int rand1 = random1.nextInt(1000);
PendingIntent pendingIntent = PendingIntent.getActivity(this, rand1 /* Request code */, intent,PendingIntent.FLAG_ONE_SHOT);

关于java - 从多个通知托盘中点击相同的 Activity ,每个通知托盘都有不同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57019128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com