HarmonyOS 鸿蒙Next 跨设备访问DataAbility的坑点

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

HarmonyOS 鸿蒙Next 跨设备访问DataAbility的坑点 注意!!!访问远程设备的Data Ability除了上面讲的uri里添加DevcieId以外,必须注意下面几点:

  1. 要定义应用级别的访问Data Abiltiy的权限
{
    "name": "cn.ybzy.hmsdemo.DataAbilityShellProvider.PROVIDER",
    "grantMode": "system_grant"
}
  1. 要加分布式数据同步和设备信息获取权限
{
    "name": "ohos.permission.GET_DISTRIBUTED_DEVICE_INFO"
},
{
    "name": "ohos.permission.DISTRIBUTED_DATASYNC"
},
{
    "name": "ohos.permission.READ_USER_STORAGE"
},
{
    "name": "cn.ybzy.hmsdemo.DataAbilityShellProvider.PROVIDER"
}

requestPermissionsFromUser(new String[]{"ohos.permission.DISTRIBUTED_DATASYNC", "ohos.permission.servicebus.ACCESS_SERVICE", "com.huawei.hwddmp.servicebus.BIND_SERVICE"}, 0);

  1. Data Ability的注册信息中一定要打开允许其他应用访问的权限
{
    "visible": true, //最后的坑,创建Data Ability时候不会自动添加
    "permissions": [
        "cn.ybzy.hmsdemo.DataAbilityShellProvider.PROVIDER"
    ],
    "name": "cn.ybzy.hmsdemo.SimpleDataAbility",
    "icon": "$media:icon",
    "description": "hap sample empty provider",
    "type": "data",
    "uri": "dataability://cn.ybzy.hmsdemo.SimpleDataAbility"
}

更多关于HarmonyOS 鸿蒙Next 跨设备访问DataAbility的坑点的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

请问楼主有试过访问另一个设备的图库图片么?

AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI

就是这个路径

更多关于HarmonyOS 鸿蒙Next 跨设备访问DataAbility的坑点的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


非分布式目录下的文件,不能跨设备访问的,你要能跨设备访问,首先就要把图片放到分布式文件目录下面!

感谢回复,

基本信息

  • 姓名: 张三
  • 年龄: 28
  • 职位: 软件工程师

联系方式

感谢老师,今天写远程访问DataAbility的例子时遇到坑点,还好搜到老师以前的帖子,总算解决了

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

分析的到位,还不错吧

这才是大家想要的

最近真好在找这个,我需要

不错,还是相当高明的

来了,我也来学习一下。

谢楼主分享

针对帖子标题“HarmonyOS 鸿蒙Next 跨设备访问DataAbility的坑点”,以下是一些可能遇到的问题及简洁回答:

  1. 权限问题: 跨设备访问DataAbility时,可能会遇到权限不足的问题。确保在配置文件中正确声明了所需权限,并在访问前进行权限检查。

  2. 设备认证: 跨设备访问涉及设备间的认证,如果认证失败,将无法访问DataAbility。检查设备间的网络连接和认证机制是否配置正确。

  3. 数据同步问题: 跨设备访问时,数据可能不同步。确保DataAbility的实现支持实时数据同步机制,以避免数据不一致。

  4. API版本兼容性: 不同设备可能运行不同版本的HarmonyOS,某些API在不同版本间可能存在差异。确保使用的API在当前设备版本中受支持。

  5. 访问路径问题: 跨设备访问时,DataAbility的访问路径可能因设备不同而有所变化。确保使用正确的访问路径进行跨设备访问。

  6. 性能问题: 跨设备访问可能会引入额外的网络延迟,影响性能。优化DataAbility的实现,减少不必要的数据传输,以提高性能。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部