我想检索连接的磨损设备的名称,如“Gear Live 02xx”。
我可以使用wear API来实现这个目标吗?
使用此:
node.getDisplayName();
我收到一个字符串4750237895-4553-4343-xxxxxxxxxxxxx。
答案 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