gpt4 book ai didi

android - 我怎样才能将一项 Activity 设置为要恢复的 Activity (通过多任务)

转载 作者:太空狗 更新时间:2023-10-29 13:35:22 28 4
gpt4 key购买 nike

我在 Android 上遇到了一点痛苦。我有两个 Activity ,一个是启动画面,当您单击应用程序图标时启动,另一个可以在特定事件发生时唤醒(NFC 事件,但这不是问题)。

list 中有声明:

<activity android:label="@string/general.appName"    android:name=".activity.SplashActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:excludeFromRecents="true" android:label="@string/general.appName" android:name=".EventReceiver" android:noHistory="true" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TRANSACTION_DETECTED">
</action>

<category android:name="android.intent.category.DEFAULT">
</category>

<data android:host="secure" android:path="/aXXXXX" android:port="0" android:scheme="nfc"/>
</intent-filter>
</activity>

一切正常,这意味着 EventReceiver 在收到特定事件时启动,启动画面正常运行等......但是,当应用程序由事件启动时,首先启动的是 EventReceiver。如果我通过点击手机的主页按钮暂停应用程序,然后再次长按它,它会出现多任务表,其中包含所有最近打开的应用程序。在那里,如果我单击我的应用程序,它会在 EventReceiver 上恢复应用程序,就像事件已经发生一样。那么您是否知道一种仅在一个选定 Activity (在我的例子中是 SplashScreen)上恢复应用程序的方法。或者您是否知道一种方法来识别应用程序是由多任务功能恢复的? (如果我得到这些信息,我也可以在我的 EventReceiver 的 onCreate 上打开好的 Activity )。

目前,我找到的唯一解决方案是在我的 EventReceiver Activity 上放置一个 android:excludeFromRecents="true"标志。如果应用程序是由事件启动的,这将导致应用程序不会出现在多任务表中。但这有点棘手,我不太喜欢那样。

你有什么想法吗?

非常感谢您的回答! (对不起我的学者英语^^)

最佳答案

如果您真的必须检测应用程序何时从“最近”启动,您可以使用 Intent 标志。

 if (getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) {
// Lauched from recent apps.
}

关于android - 我怎样才能将一项 Activity 设置为要恢复的 Activity (通过多任务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11152661/

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