Jetpack Compose打开外部浏览器
所属分类:Android | 发布于 2023-05-26 09:52:50
在做app更新功能时,需要打开外部浏览器到第三方网站进行下载,于是就研究了一下。
在app内打开网页,使用的是WebView组件。
想要打开外部浏览器,需要使用的是Android的Intent,Intent意图,很久以前在学习Java开发Android的课程中有看到过,不过已经是好几年前的事了,现在在一看,还是非常简单。直接上代码。
@Composable
fun openUrl(url: String) {
// 1.、获取context
val ctx = LocalContext.current
// 2、创建intent
val urlIntent = Intent(
Intent.ACTION_VIEW,
Uri.parse(url)
)
// 3、启动intent
ctx.startActivity(urlIntent)
}
打开外部浏览器只需要三步,启动Activity需要context,而context是在Composable函数中,如果想要把这个逻辑封装在ViewModel,只需要把context传递给ViewModel即可。