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

问题描述

我有一个应用程序,该应用程序在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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...