Android在应用程序被终止后强制完全重启
你好 我的应用程序是这样工作的 StartUpActivity被称为first,它做很多初始化工作 然后启动TvbTabActivity(TabActivity),该选项卡包含其他活动(例如浏览活动) 我看到的问题是,当使用任务杀手应用程序在TvbtActivity/Browse选项卡上终止我的应用程序,并且再次启动该应用程序时,系统会放弃正常流程(StartUpActivity未生成),而是直接恢复最后可见的活动(TvbtActivity) 我如何强制Android始终首先运行StartUpActivity,以便它初始化应用程序 显然,当我的应用程序由于异常而自行崩溃,然后再次启动时,我没有这个问题Android在应用程序被终止后强制完全重启,android,state,restore,Android,State,Restore,你好 我的应用程序是这样工作的 StartUpActivity被称为first,它做很多初始化工作 然后启动TvbTabActivity(TabActivity),该选项卡包含其他活动(例如浏览活动) 我看到的问题是,当使用任务杀手应用程序在TvbtActivity/Browse选项卡上终止我的应用程序,并且再次启动该应用程序时,系统会放弃正常流程(StartUpActivity未生成),而是直接恢复最后可见的活动(TvbtActivity) 我如何强制Android始终首先运行StartUpA
<application android:icon="@drawable/appicon"
android:label="@string/app_name" android:name="com.xyz.QPApplication"
android:debuggable="true">
<activity android:name=".activity.StartUpActivity" android:configChanges="locale|orientation"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".catalogue.BrowseActivity" android:configChanges="locale|orientation"
android:label="@string/app_name" android:screenOrientation="portrait"
android:launchMode="singleTop">
<intent-filter>
<action android:name="com.xyz.android.intent.action.BROWSE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".activity.TvbTabActivity" android:configChanges="locale|orientation"
android:screenOrientation="portrait" android:launchMode="singleTask">
</activity>
你不能。Android将尝试将应用程序恢复到停止的位置。正确的处理方法是确保您理解,并将适当的初始化放在适当的位置。有几种方法可以解决您的问题,最好是查看Android生命周期图,并尝试找出一种方法使应用程序在该上下文中工作
当然,如果你真的想这样做,你可以在Activity.finish()进入onPause()或onStop()状态时调用它来终止你自己的应用程序,但这是一个非常糟糕的解决方案。你对此无能为力——发生在你身上的事情正是force stop API所做和打算做的 任务杀手正在滥用API 他们不能再在2.2及更高版本中使用它 如果你真的想避免它,你可以将你的应用限制在2.2或更高版本。或者,如果问题是用户抱怨他们,告诉他们停止使用任务杀手。或者,如果问题只是你不喜欢在使用任务杀手时发生这种情况,那么就不要使用任务杀手 此外,这与用户在管理应用程序的UI中按“强制停止”时发生的行为相同。这通常是很好的,因为用户必须明确地这样做,而不是像这些任务杀手应用程序那样,在没有用户直接参与的情况下,他们只是在后台敲打东西