gpt4 book ai didi

android - PendingIntent 取消打开的 Activity

转载 作者:行者123 更新时间:2023-11-30 02:41:11 26 4
gpt4 key购买 nike

我有两个 Activity , Activity 1 是一个 ListView ,当您单击其中一个项目时,它会打开 Activity 2。当 Activity 1 Activity 时,我通过使用动态广播使用通知receiver,因此当 Activity 1 未激活且 Activity 2 激活时,用户将收到通知。现在我的问题是当用户在 Activity 2 上并且他收到通知并点击它时,将打开一个新的 Activity 1,我真正需要的是关闭 Activity 2 并打开 Activity 1,你能告诉我怎么做吗我这样做?

private void prepNotification(Context context, String msg) {

Resources r = context.getResources();
PendingIntent pi = PendingIntent.getActivity(context, 0, new Intent(context,
TestNotification.class),
PendingIntent.FLAG_UPDATE_CURRENT/*I tried many other options none of which seems to work */);

Notification notification = new NotificationCompat.Builder(context)
.setTicker("New Notif").setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("New Notif").setContentText(msg)
.setContentIntent(pi).setAutoCancel(true).build();

showBackgroundNotification(context, 0, notification);

}

private void showBackgroundNotification(Context context, int requestCode, Notification notification) {
Intent i = new Intent(ACTION_SHOW_NOTIFICATION);
i.putExtra("REQUEST_CODE", requestCode);
i.putExtra("NOTIFICATION", notification);

context.sendOrderedBroadcast(i, PERM_PRIVATE, null, null, Activity.RESULT_OK,
null, null);
}

编辑 1

这两个 Activity 都是托管 fragment ,但不确定这是否重要。

最佳答案

Add this intent flag.



Intent a = new Intent(context,
TestNotification.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
a.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

PendingIntent pi = PendingIntent.getActivity(context, 0, a),

关于android - PendingIntent 取消打开的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25735819/

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