kotlin获取已安装应用列表

搜索了好多获取应用列表的案例,大都是java写的,一些方法废弃了,一些用as转换成kotlin也都没法正常使用,想要获取已安装应用的包名和图标,请教具体的代码.


val mainIntent = Intent(Intent.ACTION_MAIN, null)
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER)
    val pkgAppsList = context.packageManager.queryIntentActivities(mainIntent, 0)

上下文报错,换成application context。或者缓存application 上下文,然后拿来使用

img


点进去就能看到文档


val pkgAppsList = if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU){
   packageManager.queryIntentActivities(mainIntent, PackageManager.ResolveInfoFlags.of(0))
}else {
   packageManager.queryIntentActivities(mainIntent, 0)
}

手打的,不知道有没有打错,你自己看一下

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632