1
我認爲應用程序管理器在安裝後以錯誤的方式運行我的應用程序。它運行我的應用程序的任務。當我按HOME並按應用程序圖標時,我用我的應用程序運行第二個任務。如何強制應用程序總是在自己的任務中運行?
我測試了它。我做了兩個應用程序App1,App2。 App2有兩個活動A和B.App1以最簡單的方式運行App2。
Intent intent = new Intent(Intent.ACTION_RUN);
intent.setComponent(new ComponentName("org.app2.test", "org.app2.test.Screen1"));
測試1.運行App1。 App1運行App2活動A.活動A運行活動B.按主頁。按App2圖標。你可以看到App2的活動A.(錯誤,我們必須使用App2的任務)
我改變了啓動App2的代碼。
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName("org.app2.test", "org.app2.test.Screen1"));
測試2.運行App1。 App1運行App2活動A.活動A運行活動B.按主頁。按App2圖標。您可以看到App2的活動B.(確定)
如何更改App2清單並強制App2始終在其自己的任務中運行?
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Screen1"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Screen2">
<intent-filter>
<action android:name="org.app2.test.screen2" />
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
</application>