检索磨损装置的名称

时间:2014-10-16 08:34:32

标签: android wear-os

我想检索连接的磨损设备的名称,如“Gear Live 02xx”。

我可以使用wear API来实现这个目标吗?

使用此:

node.getDisplayName();

我收到一个字符串4750237895-4553-4343-xxxxxxxxxxxxx。

4 个答案:

答案 0 :(得分:4)

为什么不使用蓝牙api? http://developer.android.com/guide/topics/connectivity/bluetooth.html#QueryingPairedDevices

API说明不太清楚: 人类可读的节点描述。有时从蓝牙设备名称生成

"有时"不是那么好的解释...转换你的字符串Hex2ASCII似乎:

GP#xESCC,距离Gear Live名称太远......

我用它来转换: http://www.rapidtables.com/convert/number/hex-to-ascii.htm

答案 1 :(得分:3)

您可以使用 Build.MODEL Build.BRAND (在Wear端)。

使用LG G手表,它将分别返回给你" G Watch"和" lge"。 如果你想从掌上电脑中检索它,我想你(应该)知道如何在双方之间进行沟通。

答案 2 :(得分:3)

没有官方API可以检索首次启动手表时显示的可穿戴设备的名称,例如G WATCH 1234或MOTO 360 1234.

将来可能会发生变化,但如果您现在想要获得类似名称,则需要执行以下操作:

    BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
    String btAddress = "No Bluetooth";
    if (btAdapter != null)
      btAddress = btAdapter.getAddress();

    // Reconstitute the pairing device name from the model and the last 4 digits of the bluetooth MAC
    String wearName;
    if ((btAddress != null) && (!btAddress.equals("No Bluetooth"))) {
        wearName = android.os.Build.MODEL;
        String[] tokens = btAddress.split(":");
        wearName += " " + tokens[4] + tokens[5];
        wearName = wearName.toUpperCase();
    } else {
        wearName = "No Bluetooth";
    }

答案 3 :(得分:1)

不确定" 02xx"在你的问题中,但要获得磨损设备的模型只需使用Build.MODEL值。见http://developer.android.com/reference/android/os/Build.html

这需要在磨损设备上执行,并通过消息框架与您的移动应用程序共享:https://developer.android.com/training/wearables/data-layer/messages.html