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

标签 android android-intent

我在 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/

相关文章:

android - 无法使用 android-times-square v1.3.0 在 Android Studio 0.8.6 中呈现布局

android - 使用广播接收器时出错

php - 如何从 Android 中的手机间隙文件上传中读取分块数据

android - 如何为 MPAndroidChart 中的每个 y 值设置 x 轴标签?

java - 在android中使用默认应用程序打开文件

android - *有什么*方法可以将 Android/drawable 图形链接到/assets?

java - 在两个类之间传递数据

Android 视频 Intent : Control back button?

java - 有没有什么方法可以让我们与生成 Intent 并从扩展 IntentService 类的类发送 Intent 的类进行通信?

android - 如何发送带有电子邮件附件的音频和图像文件?