HarmonyOS 鸿蒙Next 手机往手表上流转,提示查询失败,请稍后再试

HarmonyOS 鸿蒙Next 手机往手表上流转,提示查询失败,请稍后再试

MainAbility 代码如下:

```java
ublic class MainAbility extends Ability implements IAbilityContinuation {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());
        requestPermissionsFromUser(new String[]{"ohos.permission.DISTRIBUTED_DATASYNC"}, 0);
    }

    /////--------
    @Override
    public boolean onStartContinuation() {
        // HiLog.info(LABEL_LOG, "onStartContinuation called");
        return true;
    }

    @Override
    public boolean onSaveData(IntentParams saveData) {
        // HiLog.info(LABEL_LOG, "onSaveData called");
        return true;
    }

    @Override
    public boolean onRestoreData(IntentParams restoreData) {
        // HiLog.info(LABEL_LOG, "onRestoreData called");
        return true;
    }

    @Override
    public void onCompleteContinuation(int result) {
        // HiLog.info(LABEL_LOG, "onCompleteContinuation called");
    }

    @Override
    public void onFailedContinuation(int errorCode) {
        // HiLog.info(LABEL_LOG, "onFailedContinuation called");
    }
}

MainAbilitySlice 代码:

public class MainAbilitySlice extends AbilitySlice implements IAbilityContinuation {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        initComponents();
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onStop() {
        super.onStop();
        // 解注册流转任务管理服务
        continuationRegisterManager.unregister(abilityToken, null);
        // 断开流转任务管理服务连接
        continuationRegisterManager.disconnect();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
    private void initComponents() {
        Component startShowButton = findComponentById(ResourceTable.Id_btn_register);
        startShowButton.setClickedListener(component -> regButtonClick());

        Component listButton = findComponentById(ResourceTable.Id_btn_list);
        listButton.setClickedListener(component -> listButtonClick());

        Component flowButton = findComponentById(ResourceTable.Id_btn_lz);
        flowButton.setClickedListener(component -> flowButtonClick());
    }

    private String BUNDLE_NAME = "com.ypdemo.lius";
    // 注册流转任务管理服务后返回的Ability token
    private int abilityToken;
    // 用户在设备列表中选择设备后返回的设备ID
    private String selectDeviceId;
    // 用户是否已发起可拉回流转流程
    private boolean isReversibly = false;
    // 获取流转任务管理服务管理类
    private IContinuationRegisterManager continuationRegisterManager;
    // 设置流转任务管理服务设备状态变更的回调
    private IContinuationDeviceCallback callbacks = new IContinuationDeviceCallback() {
        @Override
        public void onConnected(ContinuationDeviceInfo deviceInfo) {
            // 在用户选择设备后设置设备ID
            selectDeviceId = deviceInfo.getDeviceId();
            //更新选择设备后的流转状态
            continuationRegisterManager.updateConnectStatus(abilityToken, selectDeviceId, DeviceConnectState.CONNECTED.getState(), null);
        }

        @Override
        public void onDisconnected(String deviceId) {
            
        }

        @Override
        public void onDeviceConnectDone(String s, String s1) {
            
        }

        @Override
        public void onDeviceDisconnectDone(String s) {
            
        }
    };
    // 设置注册流转任务管理服务回调
    private RequestCallback requestCallback = new RequestCallback() {
        @Override
        public void onResult(int result) {
            abilityToken = result;
        }
    };


    // 流转接口
    @Override
    public boolean onStartContinuation() {
        // HiLog.info(LABEL_LOG, "onStartContinuation called");
        return true;
    }

    @Override
    public boolean onSaveData(IntentParams saveData) {
        // HiLog.info(LABEL_LOG, "onSaveData called");
        return true;
    }

    @Override
    public boolean onRestoreData(IntentParams restoreData) {
        // HiLog.info(LABEL_LOG, "onRestoreData called");
        return true;
    }

    @Override
    public void onCompleteContinuation(int result) {
        // LogUtil.info(TAG, "result================:" + result);
        // HiLog.info(LABEL_LOG, "onCompleteContinuation called");
    }

    @Override
    public void onFailedContinuation(int errorCode) {
        // HiLog.info(LABEL_LOG, "onFailedContinuation called");
    }

    private void regButtonClick() {
        //增加过滤条件
        // ExtraParams params = new ExtraParams();
//        String[] devTypes = new String[]{ExtraParams.DEVICETYPE_SMART_PAD, ExtraParams.DEVICETYPE_SMART_PHONE};
//        params.setDevType(devTypes);
//        String jsonParams = "{'filter':{'commonFilter':{'system':{'harmonyVersion':'2.0.0'},'groupType':'1|256','curComType': 0x00030004,'faFilter':'{\"localVersionCode\":1,\"localMinCompatibleVersionCode\":2,\"targetBundleName\": \"com.xxx.yyy\"}'}},'transferScene':0,'remoteAuthenticationDescription': '拉起HiVision扫描弹框描述','remoteAuthenticationPicture':''}";
//        params.setJsonParams(jsonParams);
        // continuationRegisterManager.register("com.ypdemo.lius", null, callbacks, requestCallback);

        ExtraParams params = new ExtraParams();
        String[] devTypes = new String[]{ExtraParams.DEVICETYPE_SMART_PAD, ExtraParams.DEVICETYPE_SMART_PHONE};
        params.setDevType(devTypes);
        String jsonParams = "{'filter':{'commonFilter':{'system':{'harmonyVersion':'2.0.0'},'groupType':'1|256','curComType': 0x00030004,'faFilter':'{\"localVersionCode\":1,\"localMinCompatibleVersionCode\":2,\"targetBundleName\": \"com.xxx.yyy\"}'}},'transferScene':0,'remoteAuthenticationDescription': '拉起HiVision扫描弹框描述','remoteAuthenticationPicture':''}";
        params.setJsonParams(jsonParams);
        continuationRegisterManager.register(BUNDLE_NAME, params, callbacks, requestCallback);
    }
    private void listButtonClick() {
        continuationRegisterManager.showDeviceList(abilityToken, null, null);
    }
    private void flowButtonClick() {
        continueAbility(selectDeviceId);
    }
}

config:

{
  "app": {
    "bundleName": "com.ypdemo.lius",
    "vendor": "dcits",
    "version": {
      "code": 1000000,
      "name": "1.0.0"
    }
  },
  "deviceConfig": {},
  "module": {
    "package": "com.ypdemo.lius",
    "name": ".MyApplication",
    "mainAbility": "com.ypdemo.lius.MainAbility",
    "deviceType": [
      "phone",
      "wearable"
    ],
    "distro": {
      "deliveryWithInstall": true,
      "moduleName": "entry",
      "moduleType": "entry",
      "installationFree": false
    },
    "reqPermissions": [
      {
        "name": "ohos.permission.DISTRIBUTED_DATASYNC",
        "reason": "need",
        "usedScene": {
          "ability": [
            "MainAbility"
          ],
          "when": "inuse"
        }
      },
      {
        "name": "com.huawei.permission.ACCESS_SERVICE_DM",
        "reason": "need",
        "usedScene": {
          "ability": [
            "MainAbility"
          ],
          "when": "inuse"
        }
      }
    ],
    "abilities": [
      {
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ],
        "orientation": "unspecified",
        "visible": true,
        "name": "com.ypdemo.lius.MainAbility",
        "icon": "$media:icon",
        "description": "$string:mainability_description",
        "label": "$string:entry_MainAbility",
        "type": "page",
        "launchType": "standard"
      }
    ]
  }
}

更多关于HarmonyOS 鸿蒙Next 手机往手表上流转,提示查询失败,请稍后再试的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

您好,您的问题需要进一步定位,请您通过在线提单进一步解决:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的反馈和支持。

更多关于HarmonyOS 鸿蒙Next 手机往手表上流转,提示查询失败,请稍后再试的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


欢迎开发小伙伴们进来帮帮楼主

针对帖子标题中提到的“HarmonyOS 鸿蒙Next 手机往手表上流转,提示查询失败,请稍后再试”的问题,以下是专业解答:

该问题可能由以下几个原因引起:

  1. 设备兼容性问题:确保手机和手表均支持HarmonyOS系统,并且系统版本满足流转功能的要求。不同型号或不同版本的设备可能存在兼容性问题。

  2. 网络连接不稳定:流转功能依赖于稳定的网络连接。请检查手机和手表的网络连接状态,确保两者处于同一网络环境,并且网络信号良好。

  3. 系统权限设置:检查手机和手表的系统权限设置,确保流转功能所需的权限已开启。例如,蓝牙、Wi-Fi等权限需要被允许。

  4. 系统缓存问题:尝试清理手机和手表的系统缓存,有时缓存过多可能导致功能异常。

  5. 后台服务异常:检查手机和手表的后台服务是否正常运行,确保流转功能所需的服务没有被异常终止。

如果以上方法均无法解决问题,可能是系统内部存在未知错误。此时,建议重启手机和手表,或者尝试更新系统到最新版本。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部