从API 33开始,不推荐使用getPackageInfo(String, int)类的PackageManager方法。文档建议改用getPackageInfo(String, PackageInfoFlags)。但是该函数只能从API级别33中获得。
当前代码:
val pInfo = context.packageManager.getPackageInfo(context.packageName, 0)现在应该是这样吗?
val pInfo = context.getPackageInfo()
@Suppress("DEPRECATION")
fun Context.getPackageInfo(): PackageInfo {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
packageManager.getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(0))
} else {
packageManager.getPackageInfo(packageName, 0)
}
}发布于 2022-08-17 12:08:27
现在应该是这样吗?
是的,虽然我已经脱离了使用TIRAMISU来支持实际的底层Int的实践。
最理想的情况是,谷歌会为PackageManagerCompat添加一些东西来应对这些变化,也许现在安卓13已经开始向用户发布了。
https://stackoverflow.com/questions/73388061
复制相似问题