美文网首页
Android-记录一个Android11以上机型内部更新失败的

Android-记录一个Android11以上机型内部更新失败的

作者: 阿博聊编程 | 来源:发表于2022-07-18 14:41 被阅读0次
图片来源网络,入侵必删

上周发了一个版本,因为升级了一些开源库,我把项目的targetSdk调到了31,这样导致我发上去的版本会出现问题。问题是在Android11以上的设备出现没有文件储存权限,导致内部更新失败。

主要的问题是:

Android 10之后,官方对文件管理进行了分区。

虽然我们看到了是获取了文件储存权限,但是很尴尬的事情是,我们不是访问所有文件的权限。

解决方案

这里使用XXPermissions权限框架申请权限的,具体的代码如下:

XXPermissions.with(this)
          .permission(Permission.MANAGE_EXTERNAL_STORAGE)
          .request(new OnPermissionCallback() {

             @Override
             public void onGranted(List<String> permissions, boolean all) {
                   if (all) {
                       // 有权限的逻辑
                       checkDownload();
                   }else {
                       // 没有权限的逻辑
                  }

              @Override
             public void onDenied(List<String> permissions, boolean never) {}
});

这个框架有帮我们判断是Android 10以上还是Android 10以下申请文件储存权限,相对来说比较简单。这里需要注意的是,我们申请的权限是Permission.MANAGE_EXTERNAL_STORAGE,不要搞错了。

如果想要开发中复测这个问题,需要使用非鸿蒙系统的设备,这个问题是在VIVO设备上面发现的。

相关文章

网友评论

      本文标题:Android-记录一个Android11以上机型内部更新失败的

      本文链接:https://www.haomeiwen.com/subject/jsqdirtx.html