gpt4 book ai didi

android - LaunchMode & Recent App原理

转载 作者:行者123 更新时间:2023-11-29 18:06:51 26 4
gpt4 key购买 nike

我有一个 WidgetResultActivity 和一个 NotificationResultActivity,我设置了它们的 launchmode=singleInstance。但是它们有不同的行为:WidgetResultActivity不会从RECENT打开,而NotificationResultActivity总是从RECENT打开(它是单独打开的!没有MainActivity)。那么如何禁止从 REcent 打开 NotificationResultActivity,谢谢。

    <activity
android:name=".WidgetResultActivity"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<activity
android:name=".NotificationResultActivity"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

编辑:当我从通知中打开时,请查看我的 ATester 应用程序...

测试代码:

    NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher, getString(R.string.app_name), java.lang.System.currentTimeMillis());
notification.flags = Notification.FLAG_NO_CLEAR;
Intent intent = new Intent(this, ExcludeFromRecentActivity.class);
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent activity = PendingIntent.getActivity(this, R.string.app_name, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(this, "Open Activity: " + ABox.class.getSimpleName(), "new Intent()", activity);
manager.notify(R.string.app_name, notification);

测试 list :

    <activity
android:name=".ATester1"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ATester2"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ATester3"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ExcludeFromRecentActivity"
android:excludeFromRecents="true"
android:label="@string/app_name" >
</activity>

测试图像:

第一名:enter image description here

第二:enter image description here

第三:enter image description here

第四:enter image description here

编辑:我真正需要的是 DIALOG BEHEVIOR LIKE ACTIVITY,我会在另一篇文章中询问。 @WebnetMobile.com,还是谢谢你。

最佳答案

要防止将 Activity 添加到最近,请添加

android:excludeFromRecents="true"

到它的<activity> list 中的声明:

<activity
android:name=".NotificationResultActivity"
android:launchMode="singleInstance"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

参见:android:excludeFromRecents在安卓文档中。

关于android - LaunchMode & Recent App原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026554/

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