在我的应用程序中,我有一个活动和片段,从片段上单击按钮,我做一个隐式意图,打开另一个应用程序。当我打开另一个应用程序时,如果我按设备后退,两个应用程序都会关闭。我希望我的应用应该恢复。请任何指导我我出了什么问题。谢谢
我这样做的意图
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.basic");
if (launchIntent != null) {
launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(launchIntent);
} else {
Toast.makeText(getContext(), "Package not found", Toast.LENGTH_SHORT).show();
}
我的活动在背压
@Override
public void onBackPressed() {
FragmentManager fm = getSupportFragmentManager();
int backStackEntryCount = fm.getBackStackEntryCount();
if(backStackEntryCount>1) {
super.onBackPressed();
}
}
查看当您打开新活动时,此活动将堆叠在当前正在运行的活动上,当您按后退时,新活动将关闭,并从堆栈中恢复以前的活动。
Activity A ------opens new activity -----> Activity B
Activity A <------on back press----- Activity B
但是,当您从应用程序打开另一个应用程序时,就像您手动打开另一个应用程序一样。就像您通常手动打开另一个应用程序一样,假设您正在使用FB App,现在您想打开另一个说Instagram。
步骤
最小化 FB 的应用程序
然后打开Instagram
现在,当您关闭Instagram时,它将不会恢复以前的FB应用程序
这就是您的代码正在发生的事情。所以你需要使用这个
startActivityForResult(intent,101); // then if the user closes the app it will resume to your app
而不是 startActivity(intent(;