最近使用uniapp需要获取安卓手机已安装的应用列表
直接上代码
getAppList(){
plus.android.importClass('java.util.ArrayList');
plus.android.importClass('android.content.pm.PackageInfo');
plus.android.importClass('android.content.pm.PackageManager');
var ApplicationInfo = plus.android.importClass('android.content.pm.ApplicationInfo');
var MainActivity = plus.android.runtimeMainActivity();
var PackageManager = MainActivity.getPackageManager();
var pinfo = plus.android.invoke(PackageManager, 'getInstalledPackages', 0)
if (pinfo != null) {
var apklist = []
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 = {
appName:pkginfo.plusGetAttribute("applicationInfo").loadLabel(PackageManager).toString(),
packageName:pkginfo.plusGetAttribute("packageName"),
versionName:pkginfo.plusGetAttribute("versionName"),
versionCode:pkginfo.plusGetAttribute("versionCode")
}
apklist.push(apkinfo)
}
}
//this.appList = apklist
//打印出所有的APP名称,包名,版本
console.log(JSON.stringify(apklist))
}
}
直接调用此方法即可。
10 个评论
要回复文章请先登录或注册
c***@126.com
摩西向前
摩西向前
j***@163.com
8***@qq.com
3***@qq.com
4***@qq.com
6***@qq.com
4***@qq.com
4***@qq.com