AMWCOTOK
AMWCOTOK
  • 发布:2024-07-14 22:41
  • 更新:2024-07-14 22:41
  • 阅读:94

通过包名获取软件的基本信息

分类:HTML5+

代码:

// 通过包名获取应用基本信息  形参:包名  返回信息{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 关注 分享

要回复文章请先登录注册