4

我正在使用 AppAuth 库,我希望它使用自定义选项卡,但它永远不会在支持 Play 商店的模拟器或我的运行 Oreo 的 HTC U11 设备上使用。已安装 Chrome。我尝试了一堆配置,但没有运气。

    val authService = AuthorizationService(applicationContext)

    val authIntent = authService.getAuthorizationRequestIntent(authRequest,
            authService.createCustomTabsIntentBuilder(Uri.parse(authorizationManager.openIdConfig!!.authorization_endpoint)).build())

    startActivityForResult(authIntent, REQUEST_AUTH)

我尝试了使用和不使用 createCustomTabsIntentBuilder,两种方式的结果都完全相同。图我这里少了最后一块秘方,只是不知道是什么。

一切正常,我确实获得了授权,其余代码正常,只是总是使用外部浏览器。

** 已解决 ** 当前的 AppAuth 库不支持 AndroidX。我提取了库的代码,将其作为模块添加到我的应用程序中,将代码更新为 AndroidX 并更改了一行以使用正确的 CustomTab 字符串,现在一切正常。

BrowserSelector.java 第 187 行现在是

 serviceIntent.setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
4

0 回答 0