Android 安卓启动外部浏览器,使用“后退”按钮返回应用程序

Android 安卓启动外部浏览器,使用“后退”按钮返回应用程序,android,android-activity,fragment,Android,Android Activity,Fragment,在我的android应用程序中,我有一个包含多个动态生成片段的活动。用户可以点击一个按钮,该按钮将在外部浏览器中打开一个网站,例如google chrome。然后,当用户点击后退按钮时,我希望他回到我应用程序中的位置,但当前的行为是系统关闭谷歌浏览器并导航到主屏幕 我不知道是必须将所有内容保存在onSaveInstanceStateBundle中,还是应该在启动浏览器活动时考虑使用标志,还是什么 p、 我的应用程序中有两个活动。launcher one是一个简单的启动活动,noHistory设置

在我的android应用程序中,我有一个包含多个动态生成片段的活动。用户可以点击一个按钮,该按钮将在外部浏览器中打开一个网站,例如google chrome。然后,当用户点击后退按钮时,我希望他回到我应用程序中的位置,但当前的行为是系统关闭谷歌浏览器并导航到主屏幕

我不知道是必须将所有内容保存在onSaveInstanceStateBundle中,还是应该在启动浏览器活动时考虑使用标志,还是什么


p、 我的应用程序中有两个活动。launcher one是一个简单的启动活动,noHistory设置为true,另一个活动包含所有内容,包括所有片段,我建议您现在在androidX中查看ChromeCustomAbs,称为Browser。 只需添加这个依赖项:implementation androidx.browser:browser:1.2.0

您只需使用以下命令即可打开URL: customtabsinent.Builder.build.launchUrl/*上下文*/,/*url作为Uri*/ 这支持背压:


如果在项目中不使用androidX,则可以使用旧版本的ChromeCustomTables。它的工作原理与此类似,不过我建议迁移到androidX

非常感谢。但如果我想打开手机应用程序,然后用“后退”按钮返回我的应用程序,该怎么办?我的意思是把浏览器当作一个例子,你的意思是:你的应用程序是打开的->用户进入主屏幕->打开手机应用程序->按下后退->他将登陆主屏幕。但你想让他再次登陆你的应用程序?我不认为这是可能的。不,我的意思是,当他点击我的应用程序中的一个按钮时,我会打开手机应用程序,然后我想让他回到他在我的应用程序中的位置,用back按钮。好的。因此,我刚刚创建了一个新项目,只需点击按钮即可拨打一个号码,如果通话结束或我按“上一步”,我将按预期返回应用程序。在onClick内部,我只是这样做:Intent Intent=newintentintent.ACTION\u调用,Uri.parsetel:+0000;main activity.this.startactivitycontent;谢谢你的测试!问题在于SplashActivity及其noHistory属性。刚卸下喷溅活动,一切正常这应该是开箱即用。请在您的问题中发布您的清单,并发布用于启动浏览器的代码。是!问题在于SplashActivity及其noHistory属性。刚刚移除了飞溅物,一切正常