html5 + plus 获取Android安装的app列表的方法

1,691 阅读1分钟

获取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));