我有一个 Activity Alert
,它在 list 中定义如下:
<activity android:name="Alert"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
android:launchMode="singleInstance"
android:noHistory="true">
</activity>
我还有另一个 Activity Config
,它是主屏幕小部件的设置页面,定义为
<activity android:name=".Config"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Alert
Activity 在用户单击小部件时显示。现在我的问题是,在运行应用程序并返回主屏幕后,当我长按主页键并选择应用程序时,会显示 Alert
Activity 。有没有一种方法可以防止这种情况发生并始终从 Config
Activity 开始?
最佳答案
要说明这个问题,您应该了解 Android 处理 Activity 的方式。当您按下“home”按钮时,您的Alert
被认为仍然alive,但它处于pause
模式。因此,当您长按时,它会切换回来,只是恢复
您之前的最上面的 Activity ,在这种情况下是Alert
。
因此,您可以考虑在 Alert 的 onPause
事件中告诉 Android 结束 Activity 而不是暂停它。
关于Android:如何始终从特定 Activity 启动应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201831/