我正在使用 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);