HarmonyOS技术社区 · 2021年03月29日

跨设备访问DataAbility的坑点!

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

  1. 要定义应用级别的访问Data Abiltiy的权限

    "defPermissions": [
    
      { "name": "cn.ybzy.hmsdemo.DataAbilityShellProvider.PROVIDER", "grantMode": "system_grant" }
    
    ]
  2. 要加分布式数据同步和设备信息获取权限

    "reqPermissions": [
    
      { "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);
  3. 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"
    
    }

    作者:zhonghongfa

想了解更多内容,请访问51CTO和华为合作共建的鸿蒙社区:https://harmonyos.51cto.com

21_9.jpg

推荐阅读
关注数
3010
内容数
446
华为鸿蒙相关技术,活动及资讯,欢迎关注及加入创作
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息