android禁止安装app (android安装一个app)

获取已安装的app

1、添加一个权限


<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

2、代码,图片转base64字符串


var queryIntentActivities = mutableListOf<ResolveInfo>()
val intent = Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
    queryIntentActivities =
        packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL)
} else {
    queryIntentActivities = packageManager.queryIntentActivities(intent, 0)
}
queryIntentActivities.forEach {
   val bitmap = it.loadIcon(packageManager).toBitmap()
    val size = bitmap.width * bitmap.height
    val baos = ByteArrayOutputStream(size)
    // 设置位图的压缩格式,质量为100%,并放入字节数组输出流中
    // 设置位图的压缩格式,质量为100%,并放入字节数组输出流中
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos)
    val imagedata = baos.toByteArray()
    val icon: String = Base64.encodeToString(imagedata, Base64.DEFAULT)

    val appName = it.loadLabel(packageManager).toString()
   val appPackageName = it.activityInfo.applicationInfo.packageName

    KLog.d(TAG,icon);
    KLog.d(TAG,appName);
    KLog.d(TAG,appPackageName);
}