代码:
// 通过包名获取应用基本信息 形参:包名 返回信息{code: true/fals, information: {"appName":"NP管理器","packageName":"player.normal.np","versionName":"3.0.54","versionCode":20221004}}
function getAppInformation(package_name, information) {
function isEmptyObject(obj) {
return Object.keys(obj).length === 0;
}
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 apkdist = {}
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 && pkginfo.plusGetAttribute("packageName") === package_name) {
apkdist.appName = pkginfo.plusGetAttribute("applicationInfo").loadLabel(PackageManager).toString();
apkdist.packageName = pkginfo.plusGetAttribute("packageName");
apkdist.versionName = pkginfo.plusGetAttribute("versionName");
apkdist.versionCode = pkginfo.plusGetAttribute("versionCode");
}
}
if (typeof information === 'function' && isEmptyObject(apkdist) === false) {
information(null, {code: true, information: apkdist})
}else {
if (typeof information === 'function') {
information(null, {code: false, information: {}})
}
}
}
}
使用方法:
getAppInformation('你要获取的应用包名', function(err, data) {
console.log(JSON.stringify(data))
})
0 个评论
要回复文章请先登录或注册