安卓换肤

Android 获取本地APK包信息

2020-05-27  本文已影响0人  sssssss_

需求

当在异常网络下进行 APK 包下载时,会导致下载几 KB 的 APK 包,随机进入安装会显示“解析错误”的提示。为此,特意增加验证判断:

通过PackageManager获取本地 APK 安装包的PackageInfo, 跟客户端下载的信息进行对比,就可以解决这次的包异常的问题。

PackageManager

PackageManager:用于管理安装的apk和未安装的apk的类。

getPackageArchiveInfo

getPackageArchiveInfo :用于获取 APK 安装包文件信息

PackageInfo

PackageInfo:对应AndroidManifest.xml中包的所有信息。

常见字段:

代码

public boolean getAPKPackageInfo(String path) {
    // 获取PackageManagerAPK的信息
    try {
        PackageManager packageManager = mActivity.getPackageManager();
        PackageInfo packageInfo = packageManager
                .getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
        if (U.notNull(packageInfo) && packageInfo.versionName
                .equals(getUpdateInfo().newVersionName)) {
            return true;
        }
    } catch (Throwable ignore) {
    }
    return false;
}
上一篇 下一篇

猜你喜欢

热点阅读