获取Android安装的app列表的方法
直接上代码吧
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 apk = plus.android.invoke(
PackageManager,
"getInstalledPackages",
0
);
var apklist = [];
if (apk != null) {
for (var i = 0; i < apk.size(); i++) {
var info = apk.get(i);
var _thisapk =
(info
.plusGetAttribute("applicationInfo")
.plusGetAttribute("flags") &
ApplicationInfo.FLAG_SYSTEM) !=
0
? true
: false;
if (_thisapk == false) {
const apkinfo = {
appName: info
.plusGetAttribute("applicationInfo")
.loadLabel(PackageManager)
.toString(),
packageName: info.plusGetAttribute("packageName"),
versionName: info.plusGetAttribute("versionName"),
versionCode: info.plusGetAttribute("versionCode")
};
apklist.push(apkinfo);
}
}
//打印出所有的APP名称,包名,版本
console.log(JSON.stringify(apklist));