Android 在应用程序被杀死后强制完全重启

Sai*_*ira 6 android state restore

你好我的应用程序是这样工作的。

StartUpActivity 首先被调用,它做了很多初始化的事情,然后它启动了 TvbTabActivity (TabActivity),它有其他活动作为它的选项卡(例如 BrowseActivity)。

我看到的问题是 - 当使用任务杀手应用程序在 TvbTabActivity/Browse 选项卡上终止我的应用程序并再次重新启动该应用程序时,系统放弃正常流程(未生成 StartUpActivity),而是恢复直接上次可见的活动 (TvbTabActivity)。

如何强制 Android 始终首先运行 StartUpActivity,以便它初始化应用程序?

显然,当我的应用程序由于异常而自行崩溃时,我没有这个问题,哈哈,然后再次重新启动。

<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>
Run Code Online (Sandbox Code Playgroud)

Cas*_*eyB 0

你不能。Android 将尝试从中断处恢复应用程序。处理这个问题的正确方法是确保您了解Activity生命周期并将适当的初始化放在适当的位置。