需求:安卓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 应用的代码是类似的,但在实际开发中,你可能需要根据应用的逻辑和需求进行适当的调整和处理。