Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从通知还原活动堆栈?_Android_Android Intent_Notifications_Android Pendingintent - Fatal编程技术网

Android 从通知还原活动堆栈?

Android 从通知还原活动堆栈?,android,android-intent,notifications,android-pendingintent,Android,Android Intent,Notifications,Android Pendingintent,我有一个从堆栈中的活动创建的通知,恢复堆栈非常重要。堆栈中的每个活动应该只有一次 所以我有这个: A->B,B开始通知 出于我的目的,我需要在堆栈上恢复A->B。我试着启动一个,但目的似乎没有任何额外的启动startActivity 恢复堆栈需要什么样的标志和XML属性组合? 如果用户在B上并点击通知,则不应启动新堆栈。重新加载一切都很好,但在您的通知意图使用中,它不应该去A->B->B i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); i.a

我有一个从堆栈中的活动创建的通知,恢复堆栈非常重要。堆栈中的每个活动应该只有一次

所以我有这个:

A->B,B开始通知

出于我的目的,我需要在堆栈上恢复
A->B
。我试着启动一个,但目的似乎没有任何额外的启动
startActivity

恢复堆栈需要什么样的标志和XML属性组合?


如果用户在
B
上并点击通知,则不应启动新堆栈。重新加载一切都很好,但在您的通知意图使用中,它不应该去
A->B->B

i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
因为你不能/不应该改变后退按钮在不同应用之间的后退功能。在
B
活动中,使用一个“向上”按钮,使用如下内容导航到堆栈的备份

Intent upIntent = new Intent(this,ParentActivity.class);
upIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(upIntent);
finish();

Intent.FLAG\u ACTIVITY\u REORDER\u TO\u FRONT
会将现有活动放在最前面,否则会创建该活动,使堆栈中没有重复的活动

如果用户点击通知时应用程序未运行,会发生什么?