Uni-App获取用户已安装应用列表

发布时间 2023-08-20 12:08:57作者: 涛啊声依旧
// 获取用户已装应用列表
plus.android.importClass("java.util.ArrayList");
plus.android.importClass("android.content.pm.PackageInfo");
plus.android.importClass("android.content.pm.PackageManager");
const ApplicationInfo = plus.android.importClass("android.content.pm.ApplicationInfo");
const MainActivity = plus.android.runtimeMainActivity();
const PackageManager = MainActivity.getPackageManager();
const installedPackages = plus.android.invoke(PackageManager, "getInstalledPackages", 0);
if (installedPackages != null) {
  const apkList = [];
  for (let i = 0; i < installedPackages.size(); i++) {
    const pkginfo = installedPackages.get(i);
    const 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);
    }
  }
  console.log(JSON.stringify(apkList));
}