ArkTS 开启蓝牙扫描,可以发现远端设备。HarmonyOS 鸿蒙Next异常问题

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

ArkTS 开启蓝牙扫描,可以发现远端设备。HarmonyOS 鸿蒙Next异常问题

bluetoothManager.startBluetoothDiscovery

startBluetoothDiscovery(): void

开启蓝牙扫描,可以发现远端设备。

需要权限:ohos.permission.DISCOVER_BLUETOOTH 和 ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION

系统能力:SystemCapability.Communication.Bluetooth.Core。

  1. let deviceId;
  2. function onReceiveEvent(data) {
  3. deviceId = data;
  4. }
  5. try {
  6. bluetoothManager.on(‘bluetoothDeviceFind’, onReceiveEvent);
  7. bluetoothManager.startBluetoothDiscovery();
  8. } catch (err) {
  9. console.error(“errCode:” + err.code + “,errMessage:” + err.message);
  10. }
  11. 以上内容是ArkTS 3.1/4.0 ArkTS API参考代码,执行以上代码异常输出是
  12. errCode:2900100,errMessage:BussinessError 2900100: trans exception.
  13. 2900100是什么异常代码

已知的蓝牙服务子系统错误码没有2900100,求解

9 回复
大佬找到解决办法没得呢

“官方已经回复,harmony os API9目前还不支持,需要等到API10,目前只支持OpenHarmony”

你好,请问下 OpenHarmony工程 通过配置在harmony os上可以运行么?(这边测试是不行)另外请问一下“官方已经回复”有原文/出处 么?谢谢

官方已经回复,harmony os API9目前还不支持,需要等到API10,目前只支持OpenHarmony

我需要一个ArkTS 蓝牙扫描的Demo,完成发现附件蓝牙设备,经典扫描和BLE扫描,那位大神提供一下,不要JAVA
  1. function onReceiveEvent(data) {
  2. console.info('BLE scan device find result = '+ JSON.stringify(data));
  3. }
  4. try {
  5. bluetoothManager.BLE.on("BLEDeviceFind", onReceiveEvent);
  6. bluetoothManager.BLE.startBLEScan(
  7. [{
  8. deviceId:"XX:XX:XX:XX:XX:XX",
  9. name:"test",
  10. serviceUuid:"00001888-0000-1000-8000-00805f9b34fb"
  11. }],
  12. {
  13. interval: 500,
  14. dutyMode: bluetoothManager.ScanDuty.SCAN_MODE_LOW_POWER,
  15. matchMode: bluetoothManager.MatchMode.MATCH_MODE_AGGRESSIVE,
  16. }
  17. );
  18. } catch (err) {
  19. console.error("errCode:" + err.code + ",errMessage:" + err.message);
  20. }
  21. 2900099

    错误信息

    Operation failed.

    错误描述

    操作失败。

    可能原因

    该配置文件在当前设备环境不支持。

    处理步骤

    请重试该操作。

  22. ---------------------------------------------------

  23. 资料零碎东拼西凑,我在想是不是"ohos.permission.MANAGE_BLUETOOTH"权限导致的

  24. 又要签名,研究HarmonyAppProvision配置文件文件

  25. {

        "version-name": "2.0.0",

        "version-code": 2,

        "app-distribution-type": "os_integration",

        "uuid": "5027b99e-5f9e-465d-9508-a9e0134ffe18",

        "validity": {

            "not-before": 1594865258,

            "not-after": 1689473258

        },

        "type": "release",

        "bundle-info": {

            "developer-id": "OpenHarmony",

            "distribution-certificate": "-----BEGIN CERTIFICATE-----\nMIICGjCCAaGgAwIBAgIIShhpn519jNAwCgYIKoZIzj0EAwMwUzELMAkGA1UEBhMC\nQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEeMBwGA1UE\nAwwVSHVhd2VpIENCRyBSb290IENBIEcyMB4XDTIwMDMxNjAzMDQzOVoXDTQ5MDMx\nNjAzMDQzOVowUzELMAkGA1UEBhMCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UE\nCwwKSHVhd2VpIENCRzEeMBwGA1UEAwwVSHVhd2VpIENCRyBSb290IENBIEcyMHYw\nEAYHKoZIzj0CAQYFK4EEACIDYgAEWidkGnDSOw3/HE2y2GHl+fpWBIa5S+IlnNrs\nGUvwC1I2QWvtqCHWmwFlFK95zKXiM8s9yV3VVXh7ivN8ZJO3SC5N1TCrvB2lpHMB\nwcz4DA0kgHCMm/wDec6kOHx1xvCRo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUo45a9Vq8cYwqaiVyfkiS4pLcIAAwCgYIKoZI\nzj0EAwMDZwAwZAIwMypeB7P0IbY7c6gpWcClhRznOJFj8uavrNu2PIoz9KIqr3jn\nBlBHJs0myI7ntYpEAjBbm8eDMZY5zq5iMZUC6H7UzYSix4Uy1YlsLVV738PtKP9h\nFTjgDHctXJlC5L7+ZDY=\n-----END CERTIFICATE-----\n",

            "bundle-name": "com.example.DevOpsOS",

            "apl": "system_core",

            "app-feature": "hos_normal_app"

        },

        "acls": {

            "allowed-acls": [

                "ohos.permission.MANAGE_BLUETOOTH","ohos.permission.READ_CONTACTS","ohos.permission.WRITE_CONTACTS"

            ]

        },

        "permissions": {

            "restricted-permissions": []

        },

        "issuer": "pki_internal"

    }

  26. 两周了就是不知道问题出在那,

这个问题已反馈,后续有进展会同步回帖更新

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

刚开始我也是这个错误,动态申请权限之后就行了,现在我是-4,Inner error.

针对ArkTS开启蓝牙扫描在HarmonyOS鸿蒙Next中出现的异常问题,首先确保你的开发环境(如DevEco Studio)和ArkTS库已更新至最新版本,以支持最新的HarmonyOS API。

  1. 检查权限:确保你的应用在manifest文件中已经正确声明了必要的权限,包括ohos.permission.DISCOVER_BLUETOOTHohos.permission.LOCATIONohos.permission.APPROXIMATELY_LOCATION

  2. 系统能力检查:确认你的应用已经声明了所需的系统能力SystemCapability.Communication.Bluetooth.Core

  3. API兼容性:根据官方信息,某些API功能可能在特定版本的HarmonyOS中还未完全支持。检查你的HarmonyOS版本是否支持ArkTS蓝牙扫描的相关功能。如果当前版本不支持,可能需要等待后续的系统更新。

  4. 代码实现:确保你的蓝牙扫描代码实现正确,包括初始化蓝牙管理器、注册接收事件回调、启动扫描等步骤。可以参考官方文档或示例代码进行比对。

  5. 调试与日志:使用开发者工具查看详细的错误日志,这有助于定位问题。检查是否有其他系统错误或异常信息影响了蓝牙扫描功能的正常运行。

如果以上步骤都无法解决问题,建议查看HarmonyOS的官方文档或社区论坛,看看是否有其他开发者遇到并解决了类似的问题。如果问题依旧没法解决,请联系官网客服获取进一步的帮助,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部