private void getAppName(Context ctx, String apkPath) { PackageInfo pkgInfo = ctx.getPackageManager().getPackageArchiveInfo(apkPath, 0); pkgInfo.applicationInfo.sourceDir = apkPath; //加上以下两行,不加有时获取到的结果可能是包名 pkgInfo.applicationInfo.publicSourceDir = apkPath; return pkgInfo.applicationInfo.loadLabel(ctx.getPackageManager())); }
注意代码中添加注释的两行, 给applicationInfo的两个 dir属性设置一下,否则获取label 有时会返回launcher Acitivity 的包名
发表评论