Android:如何始终从特定活动启动应用程序?

时间:2010-11-17 05:42:27

标签: android android-activity widget

我有一个活动Alert,它在清单中定义如下:

        <activity android:name="Alert"
              android:label="@string/app_name"
              android:theme="@android:style/Theme.Dialog"
              android:launchMode="singleInstance"
              android:noHistory="true">
    </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活动。现在我的问题是,在运行应用程序并返回主屏幕后,当我长按主页并选择应用程序时,会显示Alert活动。有没有办法防止这种情况发生,并始终从Config活动开始?

1 个答案:

答案 0 :(得分:2)

为了说明这个问题,您应该了解Android处理活动的方式。当您按“主页”按钮时,您的Alert仍被视为活着,但它处于pause模式。因此,当您长按时,它会被切换回resume您之前的顶级活动,在这种情况下是Alert

因此,您可以考虑在onPause Alert事件中告诉Android结束Activity而不是暂停。