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

// 获取用户已装应用列表
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));
}
posted @   涛啊声依旧  阅读(485)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示