直通意图过滤器和 activity

Passthrough intent filter and activity

我有一个隐式意图过滤器,它通过打开一个意图来处理 magnet: 方案 links,并使用默认的网络浏览器进行查看。目前这具有单击磁铁 link 将用户从浏览器中抛出到我的 activity 中的效果,这会立即将他们带回带有新 URI 的浏览器中。

如何隐藏应用开关? activity 上没有什么可看的,只是为了重定向回浏览器。

在浏览器中登陆新页面后按返回,将用户带回主屏幕。我希望它 return 到点击磁铁 link 的原始页面。

这是 onCreate 中用于处理 activity

的代码
String uri = "https://some.site";
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(browserIntent);

我尝试了几个标志,finish(),但没有达到预期的效果。我相信我想放弃当前任务(启动浏览器意图的任务),以便直接返回 return 到上一个任务。但如上所述,目前这只会让用户返回主屏幕。

How do I hide the app switch? There's nothing to see on the activity that comes up only to redirect back to the browser.

使用Theme.Translucent.NoTitleBar可以隐形activity。不要在onCreate()中调用setContentView(),在onCreate()的底部调用finish()。在 finish() 之前的某个地方,从你的问题中获取你的代码块。

I believe I want to abandon the current task (the one that initiates the browser intent), so that backs will return directly to the previous task. But as mentioned above, currently this just drops the user back to the home screen.

由于您没有编写 Web 浏览器,因此任务管理确实不受您的控制。如果启动您的 activity 的 Web 浏览器将您置于一个单独的任务中,那是 Web 浏览器做出的决定。你无法说 "no, I wish to remain in the Web browser's task",AFAIK。请注意,此处的行为可能因浏览器而异。