gpt4 book ai didi

android - 来自通知和应用程序历史冲突的 PendingIntent

转载 作者:搜寻专家 更新时间:2023-11-01 08:17:20 24 4
gpt4 key购买 nike

我正在创建一个类似于以下内容的通知:

    Intent ni = new Intent(this, SomeActivity.class);
ni.putExtra("somestring", "somedata");
PendingIntent contentIntent =
PendingIntent.getActivity(this, 0, ni,
PendingIntent.FLAG_UPDATE_CURRENT|PendingIntent.FLAG_ONE_SHOT);
Context context = getApplicationContext();

notification.setLatestEventInfo(context,
res.getString(R.string.app_name),
text, contentIntent);

这里的关键是通知的 Intent 上的额外数据。一旦我点击通知并弹出 SomeActivity,它就会弹出 Activity 并且额外数据可用。

但是,如果我退出应用程序,按住主页按钮直到出现最近的 Activity 列表,然后选择再次打开应用程序,额外的数据仍然会被传递。如果应用是通过通知打开的,而不是从最近的 Activity 列表中打开,有没有办法让这些数据通过?

最佳答案

看起来我可以检查 Activity 是否是从最近的 Activity 对话框中启动的:

if((getIntent().getFlags() & 
Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0) {
// ignore extras
}
else {
// do not ignore extras
}

我不知道这是否是最好的方法,但它确实有效。

关于android - 来自通知和应用程序历史冲突的 PendingIntent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2541884/

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