1.启动本机
.(指定bundleName,精准打开App,常用)
直接填应用包名(番茄小说 com.dragon.read 、CSDN net.csdn.csdnplus ),一键启动整机已安装应用。
.AbilityName = 应用内页面组件名称
格式: 包名.ability类名
.context应用∶分两类:
. UIAbilityContext :页面内使用(能跳转App、弹窗)​. ApplicationContext :全局应用上下文(后台通用)
2.分布式权限申请
ohos.permission.DISTRIBUTED_DATASYNC
核心权限:跨设备数据交换、分布式KV、应用流转、超级终端拖拽类型:用户动态授权(必须弹窗申请)
.module.json5 静态声明权限(必须)
“requestPermissions”: [
{ “name”: “ohos.permission.DISTRIBUTED_DATASYNC”, “reason”: “多设备数据同步、跨设备操控”, “usedScene”: { “abilities”: [“EntryAbility”], “when”: “inuse” } }, { “name”: “ohos.permission.READ_MEDIA_IMAGES”, “reason”: “读取本地图片”, “usedScene”: { “abilities”: [“EntryAbility”], “when”: “inuse” } }]
如果调用后不弹出授权弹窗

  • module.json5 未声明对应权限;

  • 权限为普通非敏感权限,不需要弹窗;

  • 用户永久拒绝,需引导去系统设置手动开启。
    3.远程设备启动
    . 跨设备拉起应用, Want 对象必须携带 deviceId (远端设备标识)
    ​. 前置权限:​- 静态声明: DISTRIBUTED_DATASYNC 、 GET_DISTRIBUTED_DEVICE_INFO ​- 代码动态弹窗申请分布式权限​3. 获取 deviceId 依赖 @kit.DistributedDeviceManager 设备管理模块
    运行条件
    . 两台鸿蒙设备登录同一个华为账号

    . 两台设备连接同一WiFi、蓝牙全部打开

    . 应用已申请并授权 DISTRIBUTED_DATASYNC

    . 远端设备已安装对应包名App(纯血NEXT用 .next 包名)

    . 远端设备屏幕非锁屏黑屏状态
    相关流程
    实现功能:

动态弹窗申请分布式权限

. 扫描同账号在线鸿蒙设备,展示设备列表

. 点击列表项,远程拉起远端设备指定App

. 区分本机启动 / 跨设备远程启动
.使用流程

. 安装项目到主控制手机,打开页面自动弹窗申请分布式权限,点击允许

. 点击【扫描协同设备】,列表加载同账号在线设备

. 点击本机按钮:仅当前手机打开App

. 点击列表设备的【远程打开】:另一台鸿蒙设备自动拉起目标软件

常见问题解决

.扫描设备为空

  • 账号不一致、蓝牙/WiFi关闭、权限未授权

    . 远程启动报错
  • deviceId 未写入Want对象
  • 远端设备未安装对应bundleName应用
  • 远端设备锁屏休眠
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐