要在 Chrome 中打开 URL,我使用的是 Chrome 自定义选项卡,
androidx.browser.browser:1.0.0
首先我检查是否支持 Chrome 自定义选项卡
const val SERVICE_ACTION = "android.support.customtabs.action.CustomTabsService"
const val CHROME_PACKAGE = "com.android.chrome"
private fun Context.isChromeCustomTabsSupported(): Boolean {
val serviceIntent = Intent(SERVICE_ACTION)
serviceIntent.setPackage(CHROME_PACKAGE)
val resolveInfos = packageManager.queryIntentServices(serviceIntent, 0)
return !(resolveInfos == null || resolveInfos.isEmpty())
}
然后在自定义选项卡中打开 URL
if (isChromeCustomTabsSupported()) {
CustomTabsIntent.Builder().apply {
setToolbarColor(ContextCompat.getColor(this@MainActivity, R.color.colorPrimary))
setSecondaryToolbarColor(ContextCompat.getColor(this@MainActivity, R.color.colorPrimaryDark))
}.build().launchUrl(this@MainActivity, Uri.parse(URL))
}
如果答案Kotlin不正确,我将用 Java 重写
更新:我的回答仅在您想在 Android 上使用 Chrome 启动 URL 时帮助您进行原生 Android 开发。