需求:安卓java如何做到A應用切換到B應用,如果B應用沒啟動就啟動,如果B應用已經啟動就僅僅切換到B應用。B應用再切換回A應用,不要重復執行OnCreate!
在 A 應用中的:
在 A 應用中,如果你希望在切換回 B 應用時不重新執行 onCreate
方法,同樣可以為 A 應用的主 Activity 添加 launchMode
屬性,A/B應用都添加。例如
<activityandroid:name=".MainActivity"android:launchMode="singleTask"><!-- 其他屬性 -->
</activity>
這將確保在 A 應用切換回 B 應用時,A 應用的主 Activity 不會重新創建,而是會將已有的任務棧中的實例帶到前臺。
// 切換到 B 應用
Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.bapp");
if (intent != null) {startActivity(intent);
}
// 切換回 A 應用
Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.aapp");
if (intent != null) {startActivity(intent);
}
請注意,在使用 singleTask
啟動模式時,如果切換回應用時觸發了 onNewIntent
方法,你可以在該方法中處理切換回應用的邏輯。在上述示例中,切換回 A 應用和切換回 B 應用的代碼是類似的,但在實際開發中,你可能需要根據應用的邏輯和需求進行適當的調整和處理。