android 获取本地短信,Android 获取本地APK包信息

需求

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

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

PackageManager

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

getPackageArchiveInfo

PackageInfo

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

常见字段:

public String packageName;包名

public String[] splitNames;

public int versionCode;版本号

public String versionName;版本名称

public ApplicationInfo applicationInfo;

public long firstInstallTime;第一次安装时间

public long lastUpdateTime;上次更新时间

public ActivityInfo[] activities;所有的Activity信息

public ActivityInfo[] receivers; 所有的广播接收者

public ServiceInfo[] services;所有的服务信息

public ProviderInfo[] providers;获取ContentProvide

public PermissionInfo[] permissions;所有的权限信息

代码

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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值