Android 传递意图过滤器和活动

Android 传递意图过滤器和活动,android,android-intent,android-activity,intentfilter,Android,Android Intent,Android Activity,Intentfilter,我有一个隐式的意图过滤器,它通过使用默认web浏览器打开意图视图来处理magnet:scheme链接。目前,这样做的效果是,单击“磁铁”链接会将用户从浏览器中抛出到“我的活动”中,而“我的活动”会立即使用新的URI将用户返回到浏览器中 如何隐藏应用程序开关?在出现的活动上没有可查看的内容,只是重定向回浏览器 在浏览器中登录到新页面后按“后退”,用户将返回主屏幕。我希望它返回到原来的页面,在那里磁铁链接被点击 以下是处理活动的onCreate中的代码 String uri = "https://s

我有一个隐式的意图过滤器,它通过使用默认web浏览器打开意图视图来处理
magnet:
scheme链接。目前,这样做的效果是,单击“磁铁”链接会将用户从浏览器中抛出到“我的活动”中,而“我的活动”会立即使用新的URI将用户返回到浏览器中

如何隐藏应用程序开关?在出现的活动上没有可查看的内容,只是重定向回浏览器

在浏览器中登录到新页面后按“后退”,用户将返回主屏幕。我希望它返回到原来的页面,在那里磁铁链接被点击

以下是处理活动的
onCreate
中的代码

String uri = "https://some.site";
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(browserIntent);
我尝试了几个标志和
finish()
,但没有达到预期效果。我相信我想放弃当前任务(启动浏览器意图的任务),这样backs将直接返回到上一个任务。但是如上所述,目前这只是将用户放回主屏幕

如何隐藏应用程序开关?在出现的活动上没有可查看的内容,只是重定向回浏览器

使用
Theme.transparent.NoTitleBar
可以拥有一个不可见的活动。不要在
onCreate()
中调用
setContentView()
,在
onCreate()
的底部调用
finish()
。在
finish()

我相信我想放弃当前任务(启动浏览器意图的任务),这样backs将直接返回到上一个任务。但是如上所述,目前这只是将用户放回主屏幕


因为您没有编写Web浏览器,所以任务管理实际上超出了您的控制范围。如果启动活动的Web浏览器将您置于单独的任务中,则这是Web浏览器的决定。你没有办法说“不,我希望留在网络浏览器的任务中”,阿飞。请注意,这里的行为可能因浏览器而异。

这解决了活动部分,我将在另一个问题中要求返回到以前的任务,现在它更清晰了。