gpt4 book ai didi

android - 通知中的打开 Activity 似乎会破坏调用堆栈

转载 作者:行者123 更新时间:2023-11-30 00:48:15 25 4
gpt4 key购买 nike

我有一个可以从服务器发送的通知打开的 Activity ,也可以从应用程序上的其他 Activity 打开,但是有一个问题。当从通知中打开一个 Activity 时,如果用户尝试返回,应用程序将返回后台,下次打开时,它将显示登录(主) Activity ,而不是调用堆栈中的最后一个 Activity ,如果应用程序处于 Activity 状态或处于后台,并且显示任何错误消息,调试过程也不会停止。

这是我的通知码

void client(Bundle bundle){
String title = bundle.getString("title");
String message = bundle.getString("message");
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
seticon(builder);
builder.setContentTitle(title);
builder.setContentText(message);
if(message.length()>25){
builder.setStyle(new NotificationCompat.BigTextStyle()
.bigText(message));
}

Intent resultIntent = new Intent(getBaseContext(), Client_form.class);
PendingIntent resultPendingIntent =null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(Cliente_form.class);
stackBuilder.addNextIntent(resultIntent);
resultPendingIntent=
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
}
builder.addAction(R.drawable.common_plus_signin_btn_icon_light,"Open",resultPendingIntent);
builder.addAction(R.drawable.ic_mail_outline_black_24dp,"Test",null);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(id_notifi++, builder.build());

Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), uri);
r.play();
}

预期的行为是,如果 Activity 在调用堆栈的顶部打开并且按下返回时应该返回到上一个 Activity 。

知道为什么会发生这种情况或如何使其按预期工作吗?

最佳答案

我有过类似的问题,它与我对 StackBuilder 的实现有关,在某些配置中,它会自动调用最初调用通知或通知广播接收器的 Activity 的 onDestroy 方法。

尝试完全删除 Stackbuilder,如果这解决了问题,您可以找到确切的问题,我的问题是添加了错误的类。

关于android - 通知中的打开 Activity 似乎会破坏调用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41467888/

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