2***@qq.com
2***@qq.com
  • 发布:2021-09-14 09:32
  • 更新:2021-12-07 10:32
  • 阅读:1041

uni-app获取应用列表(安卓) 图标如何转化呢

分类:Native.js

{"appName":"QQ","packageName":"com.tencent.mobileqq","versionName":"8.5.5","versionCode":1630,"appIcon":{"UUID":"Invocation186295531","TYPE":"JSBObject","className":"android.graphics.drawable.BitmapDrawable"}

2021-09-14 09:32 负责人:无 分享
已邀请:
zzhi_bo

zzhi_bo - 前端小次

楼主解决了吗?

DCloud_App_Array

DCloud_App_Array

在uni-app项目中建议开发uni原生插件实现,参考:https://nativesupport.dcloud.net.cn/NativePlugin/README

zzhi_bo

zzhi_bo - 前端小次

plus.android.importClass('android.graphics.drawable.BitmapDrawable');
var BitmapFactory = plus.android.importClass("android.graphics.BitmapFactory");
var Base64 = plus.android.importClass("android.util.Base64");
var Bitmap = plus.android.importClass('android.graphics.Bitmap');
var ByteArrayOutputStream = plus.android.importClass("java.io.ByteArrayOutputStream");
if (pinfo != null) {
for (var i = 0; i < pinfo.size(); i++) {
//PackageInfo{4b45699f9d com.tencent.mobileqq}
var pkginfo = pinfo.get(i);
var issysapk = ((pkginfo.plusGetAttribute("applicationInfo").plusGetAttribute("flags") &
ApplicationInfo.FLAG_SYSTEM) != 0) ? true : false
if (issysapk == false) {
const apkinfo = {
name: pkginfo.plusGetAttribute("applicationInfo").loadLabel(PackageManager)
.toString(),
packageName: pkginfo.plusGetAttribute("packageName"),
// versionName: pkginfo.plusGetAttribute("versionName"),
// versionCode: pkginfo.plusGetAttribute("versionCode"),
appIco:pkginfo.plusGetAttribute("applicationInfo").loadIcon(PackageManager)
}

                        var bimp=apkinfo.appIco.getBitmap();                              
                        try{  
                            var baos = new ByteArrayOutputStream();  
                            bimp.compress(Bitmap.CompressFormat.JPEG, 100, baos);  
                            baos.flush();  
                            baos.close();  
                            var bitmapBytes = baos.toByteArray();  
                            var result = "data:image/jpeg;base64,"+Base64.encodeToString(bitmapBytes, Base64.DEFAULT);  
                            apkinfo.img=result;  
                        }catch(e){  

                        }  
                        apkKist.push(apkinfo);  
                    };  
                };  
            };

该问题目前已经被锁定, 无法添加新回复