当前位置: 首页 > 知识库问答 >
问题:

onBackPressed无法以隐式意图工作

阴高寒
2023-03-14

在我的应用程序中,我有一个活动和片段,从点击按钮的片段,我在做一个隐含的意图,打开另一个应用程序。当另一个应用程序打开时,如果我按下设备背部,这两个应用程序都将关闭。我希望我的应用程序应该恢复。请任何指导我我做错了什么。谢谢

我这样做的意图

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();
        }
 }

共有1个答案

麻阳
2023-03-14

看看当你打开一个新的活动时,这个活动会堆叠在当前正在运行的活动上,当你按下按钮时,新活动关闭,它会从堆栈中恢复以前的活动。

 Activity A ------opens new activity -----> Activity B 

 Activity A <------on back press----- Activity B 

但是当你从你的应用程序打开另一个应用程序时。这就像你手动打开另一个应用程序。就像你通常手动打开另一个应用程序一样假设你正在使用FB应用程序,现在你想打开另一个应用程序,比如Instagram。

步伐

>

  • 最小化FB的应用程序

    然后打开Instagram

    现在,当你关闭Instagram时,它将不会恢复之前的FB应用程序

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

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

    而不是startActivity(意图);

  •  类似资料:
    • 本文向大家介绍Android隐式和显式意图,包括了Android隐式和显式意图的使用技巧和注意事项,需要的朋友参考一下 示例 显式意图用于在同一应用程序包内启动活动或服务。在这种情况下,将明确提及所需类的名称: 但是,对于用户设备上安装的可以处理该意图的任何应用程序,系统会在系统上发送隐式意图。这用于在不同应用程序之间共享信息。 可以在Android Developer文档中找到有关差异的更多详细

    • 这是我写的主活动的代码。我正在加载第一个屏幕中的片段列表。当用户点击任何列表项时,行星名称将在我在单独的类中定义的详细片段中显示给用户。 我正在添加“碎片行星列表”事务- 然而,如果我重写backPress方法并以编程方式弹出后栈,它就可以正常工作。 如果要实现此行为,是否需要以这种方式重写onBackPressed()方法?未记录您需要在此链接中重写此方法。Android背压片段文档 碎片行星细

    • 问题内容: 在我的应用程序中,我彼此之间有2 的权利。通过菜单选项,我希望能够使最下面的一个消失,并使最上面的一个消失。 问题是,我不知道如何在Java中执行此操作。 它不必设置动画,我想在时隐藏另一个活动(菜单)的返回内容。菜单上设置了一个我要签入的菜单,并根据其值确定是否需要隐藏或显示底部: 谁能给我一个提示或链接,告诉我该怎么做? 问题答案: 如果要从布局中删除它,可以致电。 或者,如果您只

    • 如何设置另一个操作,以及如何将setData与Uri参数以外的其他参数一起使用? 我只是一般地试图理解这两种类型的意图。

    • 我正在编写一个类似亭的微型浏览器,它基于特定扫描的射频识别标签的有效载荷打开特定页面。 为了提供重新打开应用程序(该应用程序供公众使用)和处理所有RFID扫描的方法,我试图让我的应用程序处理所有的操作。 目前,每次扫描新的RFID tg时,我的活动都会打开一个新实例,无论是否有一个实例已经打开。显然,这并不理想。一个活动的单个实例能否处理所有这些隐含意图? 我已经研究过使用单顶属性和标志,但是我不

    • 我有一个定义为singleTop的活动,因此只有一个实例存在。 我用一些数据设置了一个通知意图,并将其包含在Pending帐篷中,然后将其发送给通知管理器。 如果activivty未运行,则意图会按预期通过onCreate()启动活动。 如果活动正在运行,但处于停止状态/不在前台(如单击home按钮时),并且通知被单击,则按预期调用我的活动的onNewIntent()。 但是,如果活动在前台时已被

    • 谷歌拒绝了我的应用程序,我在提交应用程序作为生产版本时遇到了这个安全错误: 隐含的内部意图 您的应用程序包含隐式内部意图漏洞。有关详细信息,请参阅此Google帮助中心文章。 我应用了这里列出的所有建议:修复隐式悬而未决的漏洞 但错误依然存在。 我的服务: 清单: 这项服务在很多地方都是通过以下三种方式启动的:(根据谷歌的建议,我添加了PendingEvent.FLAG_IMMUTABLE) 方法

    • 我用bootstrap的轮播图做一个页面,轮播组件多出的图片使用hidden无法隐藏,效果图如下: 图片红色框中的部分应该隐藏掉,有30的间距。 轮播图代码如下: 自定义的css代码如下: