辣条人
辣条人
  • 发布:59 分钟前
  • 更新:11 分钟前
  • 阅读:26

导入UTS 插件导致uni.saveVideoToPhotosAlbum无法使用,怎么解决?

分类:uni-app

存在两种情况:

1、当没有配置<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE时UTS 插件正常运行,uni.saveVideoToPhotosAlbum报错(fail No Permission)

2、当配置<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE时UTS 插件报错,uni.saveVideoToPhotosAlbum可用正常运行

59 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这是 Android 平台 UTS 插件与系统权限机制的冲突问题。uni.saveVideoToPhotosAlbum 在 Android 10(API 29)及以上版本需要适配分区存储(Scoped Storage),而 UTS 插件使用的权限框架(如 XXPermissions)会检测应用是否声明适配了分区存储。

解决方案

方案一:声明适配分区存储(推荐)

在项目根目录创建 AndroidManifest.xml(注意大小写敏感),添加 ScopedStorage 元数据声明:

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="io.dcloud.nativeresouce">  
    <application>  
        <!-- 表示当前项目已适配分区存储特性 -->  
        <meta-data  
            android:name="ScopedStorage"  
            android:value="true" />  
    </application>  
</manifest>

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

同时在 manifest.json 中配置存储权限:

{  
  "app": {  
    "distribute": {  
      "android": {  
        "permissions": [  
          "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",  
          "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"  
        ]  
      }  
    }  
  }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

方案二:使用 MANAGE_EXTERNAL_STORAGE(未适配分区存储时)

如果项目未适配分区存储,UTS 插件会要求使用 MANAGE_EXTERNAL_STORAGE 权限:

{  
  "app": {  
    "distribute": {  
      "android": {  
        "permissions": [  
          "<uses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/>"  
        ]  
      }  
    }  
  }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

注意:MANAGE_EXTERNAL_STORAGE 权限较为敏感,Google Play 审核可能拒绝,建议优先使用方案一。

权限申请代码调整

在 UTS 插件中,确保权限申请逻辑正确处理了 Android 10+ 的场景。如果使用了 XXPermissions 框架,需要确保在申请 WRITE_EXTERNAL_STORAGE 前已按上述方式配置。

验证步骤

  1. 添加配置后重新云打包
  2. 在 Android 10+ 设备上测试 uni.saveVideoToPhotosAlbum
  3. 检查 UTS 插件的权限申请回调是否正常触发

参考文档:

内容为 AI 生成,仅供参考
辣条人

辣条人 (作者) - 一个人的团队

有咩有人遇到过呢?怎么解决?急

辣条人

辣条人 (作者) - 一个人的团队

已解决

要回复问题请先登录注册