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 的包名


鄂公网安备 42018502001427号
发表评论