android安装包 apk文件损坏,Android apk下载安装包Apk文件不正确错误

本文介绍了在Android系统中遇到Apk安装包错误的问题,特别是6.0及以下版本会报'Apk文件不正确'的错误。针对这个问题,提供了从检查安装权限、适配不同版本系统的安装方法,以及如何处理7.0及以上版本的文件提供者权限。同时,文章还包含了检查第三方应用商店是否存在并启动应用详情页的辅助功能。
摘要由CSDN通过智能技术生成

注意事项:

6.0及以下用context.getFilesDir().getPath()或者context.getCacheDir().getPath();安装都会报Apk文件不正确,无法正常打开;

7.0及以上没有问题。

installApkO(8.0 需要判断是否允许了安装未知来源应用的权限)

private void installApkO(Context context, String downloadApkPath) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

//是否有安装位置来源的权限

boolean haveInstallPermission = getPackageManager().canRequestPackageInstalls();

if (haveInstallPermission) {

KLog.i("8.0手机已经拥有安装未知来源应用的权限,直接安装!");

installApk(context, downloadApkPath);

} else {

final AlertDialog.Builder normalDialog = new AlertDialog.Builder(MainActivity.this);

normalDialog.setTitle("权限申请");

normalDialog.setMessage("安装应用需要打开安装未知来源应用权限,请去设置中开启权限!");

normalDialog.setPositiveButton("去设置",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

Uri packageUri = Uri.parse("package:" + getPackageName());

Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageUri);

startActivityForResult(intent, 10086);

}

});

normalDialog.setNegativeButton("取消",

new DialogInterface.OnClickListener() {

@Override

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值