微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当浏览器处于后台时,如何从隐式意图启动活动?

如何解决当浏览器处于后台时,如何从隐式意图启动活动?

我有一个应用程序,该应用程序在Chrome的“自定义标签中启动身份验证,并使用活动上的意图过滤器通过隐式意图将结果传递回我的应用程序。只要自定义选项卡保留在前台,而登录流程在Web上完成,此方法就可以正常工作。但是,如果用户启用了双重身份验证,则在登录流程完成时,他们的2FA应用可能会出现在前台在这种情况下,隐式意图永远不会启动,我的活动也永远不会启动。

同时使用Chrome自定义标签和主Firefox应用程序打开登录流程时,会发生这种情况。我在Android 9和10上进行了尝试,以确保不是Android 10上的Android restrictions on starting activities in the background造成的。它不能在两种操作系统上使用。

这是清单中的活动的样子:

<activity
    android:name=".LoginCompleteActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.broWSABLE" />

        <data android:scheme="mycustomscheme" />
    </intent-filter>
</activity>

我也尝试过将hostpathPattern包含在intent-filter中,但这也不起作用。当浏览器处于后台时,如何从浏览器强制打开活动?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。