华为手机 android8.0APP更新时出现安装包解析异常的提示及安装闪退(无反应)问题

在做android app升级更新时遇到几个问题,我用的测试机是华为V10 系统为8.0

一、安装闪退(无反应)

解决办法:

   只要在Mainfest.xml 中加入权限编码即可解决

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />




来源参考:https://blog.csdn.net/winnershili/article/details/79559888

二、更新时出现安装包解析异常

问题原因:setFlags与addFlags位置顺序不对导致,应该先setFlags再使用addFlags


下面是我能正常运行的代码
private void installAPK() {
    File apkFile =
            new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), apkName);
    Intent intent = new Intent();
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setAction(Intent.ACTION_VIEW);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        Uri apkUri = FileProvider.getUriForFile(mContext, "*****.fileprovider", apkFile);
        intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    } else {
        intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
    }
    mContext.startActivity(intent);
}

  

此次能顺利解决问题,都是参考了网上前辈们的经验,在此感谢!
posted on 2019-07-26 13:45  巫山老妖  阅读(2177)  评论(0编辑  收藏  举报