如何解决 Okta 登录中的 "No compatible browser found" 错误?

How to solve "No compatible browser found" error in Okta login?

尝试登录 OKTA 登录页面时,android 设备出现此错误, 并且登录失败。

D/MainActivity: null onError
    AuthorizationException: {"type":0,"code":10,"errorDescription":"No compatible browser found"}
        at com.okta.oidc.AuthenticationResultHandler.handleAuthenticationResult

用于 Okta OIDC 的依赖项

implementation 'com.okta.authn.sdk:okta-authn-sdk-api:1.0.0'
implementation('com.okta.authn.sdk:okta-authn-sdk-impl:1.0.0') {
    exclude group: 'com.okta.sdk', module: 'okta-sdk-httpclient'
}
implementation 'com.okta.android:oidc-androidx:1.0.11'

使用的浏览器是设备的默认浏览器。 (vivo浏览器) 已授予所有权限。

您需要将Chrome设为默认浏览器。

要遵循的步骤:

  1. 转到您设备上的设置。
  2. 转到权限管理。
  3. 转到默认应用设置。
  4. 转到浏览器。
  5. Select 申请:Chrome。 现在,您的默认浏览器设置为 Chrome.
  6. 重新运行应用程序并再次尝试登录。

如果您正在开发面向 Android 11 (API 30) 或更高年龄的应用程序,则接受的答案将不起作用。

因为Package Visibility Filtering

为了查看支持自定义选项卡的包(这是 Okta SDK 正在寻找的),您必须在清单中声明一个查询。这个对我有用:

 <queries>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="http" />
    </intent>
</queries>