HarmonyOS鸿蒙Next中上架应用禁止申请ohos.permission.READ_MEDIA和ohos.permission.WRITE_MEDIA,有无替代方法

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS鸿蒙Next中上架应用禁止申请ohos.permission.READ_MEDIA和ohos.permission.WRITE_MEDIA,有无替代方法 【设备信息】Mate 60
【API版本】Api14
【DevEco Studio版本】5.0.7.200

应用之前使用ohos.permission.READ_MEDIA和ohos.permission.WRITE_MEDIA权限来处理图片,上架因此被驳回。有无替代方式?

4 回复

具体是如何处理图片呢?图片的保存和读取,目前都使用picker安全控件来实现,不再需要权限。在 ArkUI 开发中,将图片保存到应用沙箱内部存储通常不需要额外的权限。

更多关于HarmonyOS鸿蒙Next中上架应用禁止申请ohos.permission.READ_MEDIA和ohos.permission.WRITE_MEDIA,有无替代方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以通过配置Web组件的domStorageAccess属性来启用对localStorage和sessionStorage的支持

import { webview } from '@kit.ArkWeb';
@Component
struct Index {
  controller: webview.WebviewController = new webview.WebviewController();

  build() {
    Column() {
      Web({ src: $rawfile('index.html'), controller: this.controller })
        .javaScriptAccess(true)
        .domStorageAccess(true)
        .onPageEnd(() => { // 获取 localStorage 的值
          this.controller.runJavaScript('localStorage.setItem("COOKIE13", "Test_Data");');
        });
    }
  }
}

在HarmonyOS鸿蒙Next中,若应用被禁止申请ohos.permission.READ_MEDIAohos.permission.WRITE_MEDIA权限,开发者可以使用以下替代方案:

  1. 使用FilePicker API:通过FilePicker组件,用户可以选择特定的文件或目录,应用无需直接申请媒体读写权限即可访问用户选择的文件。

  2. 使用MediaLibrary APIMediaLibrary提供了对媒体库的访问权限,应用可以通过该API读取和写入媒体文件,而无需直接申请READ_MEDIAWRITE_MEDIA权限。

  3. 使用UserFileManager APIUserFileManager允许应用管理用户文件,包括读取和写入操作,应用可以通过该API实现文件管理功能。

这些API可以帮助应用在无需直接申请READ_MEDIAWRITE_MEDIA权限的情况下,实现对媒体文件的访问和操作。

在HarmonyOS鸿蒙Next中,若应用无法申请ohos.permission.READ_MEDIAohos.permission.WRITE_MEDIA权限,可以通过以下替代方案实现类似功能:

  1. 使用系统文件选择器:通过调用系统文件选择器,用户手动选择文件,应用无需直接访问媒体库。
  2. 应用沙盒存储:利用应用自身的沙盒存储空间,存储和管理文件,避免直接访问外部媒体库。
  3. ContentProvider:通过系统提供的ContentProvider接口,安全地访问和操作媒体文件。

这些方法在保障用户隐私的同时,满足应用的文件访问需求。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!