我正在使用 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)
Run Code Online (Sandbox Code Playgroud)
我尝试使用和不使用 createCustomTabsIntentBuilder,无论哪种方式,结果都完全相同。图我缺少最后一块秘密武器,只是不知道它是什么。
一切工作正常,我确实获得了授权,其余代码工作正常,它只是始终使用外部浏览器。
** 已解决 ** 当前的 AppAuth 库不支持 AndroidX。我提取了该库的代码,将其作为模块添加到我的应用程序中,将代码更新为 AndroidX 并更改了一行以使用正确的 CustomTab 字符串,现在一切都按预期工作。
BrowserSelector.java 第 187 行现在是
serviceIntent.setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
Run Code Online (Sandbox Code Playgroud)