gpt4 book ai didi

android - 从通知打开应用程序

转载 作者:行者123 更新时间:2023-11-29 15:42:10 24 4
gpt4 key购买 nike

假设我们有一个显示有趣图片的 Activity,并将其命名为 FunnyActivity。单击按钮后,可以从 MainActivity 启动此 Activity,MainActivity 是应用程序中的基本 Activity。我们有时也想推送一些通知,当用户点击通知时,应该启动这个 FunnyActivity。所以我们添加这部分代码:

    Intent notificationIntent = new Intent(this, FunnyActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

PendingIntent intent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), notificationIntent, 0);

并且此 PendingIntent 正在通知生成器中使用

setContentIntent(intent)

当然,FunnyActivity 的启动很漂亮,但我们希望在用户单击 FunnyActivity 上的后退按钮时打开 MainActivity。

我们怎样才能做到这一点?请记住,当用户返回 MainActivity 时,他可以通过按钮再次打开 FunnyActivity。

最佳答案

试试这个:

// Intent for the activity to open when user selects the notification
Intent detailsIntent = new Intent(this, DetailsActivity.class);

// Use TaskStackBuilder to build the back stack and get the PendingIntent
PendingIntent pendingIntent =
TaskStackBuilder.create(this)
// add all of DetailsActivity's parents to the stack,
// followed by DetailsActivity itself
.addNextIntentWithParentStack(upIntent)
.addNextIntent(detailsIntent);
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentIntent(pendingIntent);

来源:Create back stack when starting the activity

关于android - 从通知打开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38542943/

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