gpt4 book ai didi

android - 从已打开的 Activity 中的通知接收 Intent ?

转载 作者:太空狗 更新时间:2023-10-29 12:50:02 26 4
gpt4 key购买 nike

我有一个使用以下代码创建通知的 Activity :

Notification notification = new Notification(icon,
tickerText, 0);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Context context = getApplicationContext();
CharSequence contentText = getString(R.string.subtitle);
Intent notificationIntent = new Intent(getBaseContext(),
MainActivity.class);
notificationIntent.putExtra("num", Integer.toString(i));
Intent deleteIntent = new Intent(getBaseContext(),
DeleteActivity.class);
deleteIntent.putExtra("num", Integer.toString(i));
PendingIntent contentIntent = PendingIntent.getActivity(
getBaseContext(), ran, notificationIntent, 0);
PendingIntent deletePendingIntent = PendingIntent
.getActivity(getBaseContext(), ran, deleteIntent, 0);
notification.setLatestEventInfo(context, text, contentText,
contentIntent);
notification.deleteIntent = deletePendingIntent;
final int NOTIF_ID = ran;
mNotificationManager.notify(NOTIF_ID, notification);

我保留了当前正在显示的来 self 的应用的所有通知的列表。

单击通知时,它会打开 MainActivity。我在 onResume() 中有一些代码可以从列表中删除通知。这很好用。

当通知被解除时,它会触发 DeleteActivity,这也会将它从我的列表中删除。这也很好用。

问题是,如果 MainActivity 已经打开,并且单击了通知,则 onResume() 不会再次运行,因此通知消失了,但它并没有从应用认为是的通知列表中删除显示。

我想知道是否有任何方法可以在收到 Intent 时执行一段特定的代码(或者甚至只是重新启动整个 Activity )。我知道我可以将它设置为使用 DeleteActivity,但我宁愿让它打开 MainActivity。

最佳答案

您可以通过覆盖 onNewIntent 在您的 Activity 中捕获通知点击.这就是我在我的应用程序中所做的。

关于android - 从已打开的 Activity 中的通知接收 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123418/

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