onBackPress在隐式意图中不起作用



在我的应用程序中,我有一个活动和片段,从片段上单击按钮,我做一个隐式意图,打开另一个应用程序。当我打开另一个应用程序时,如果我按设备后退,两个应用程序都会关闭。我希望我的应用应该恢复。请任何指导我我出了什么问题。谢谢

我这样做的意图

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。

步骤

  1. 最小化 FB 的应用程序

  2. 然后打开Instagram

  3. 现在,当您关闭Instagram时,它将不会恢复以前的FB应用程序

这就是您的代码正在发生的事情。所以你需要使用这个

 startActivityForResult(intent,101); // then if the user closes the app it will resume to your app

而不是 startActivity(intent(;

相关内容

  • 没有找到相关文章

最新更新