【问题标题】:Android - Getting Android ID of Android Wearable Device from Smart PhoneAndroid - 从智能手机获取 Android 可穿戴设备的 Android ID
【发布时间】:2015-05-31 17:44:43
【问题描述】:

有没有办法获取与我的智能手机配对的 Android 可穿戴设备的 Android ID?我的应用程序在智能手机上运行,​​但在安卓可穿戴设备(例如手表)上没有运行应用程序。

据我了解,Android 可穿戴设备和智能手机将通过蓝牙配对。我查看了所有蓝牙 API (http://developer.android.com/guide/topics/connectivity/bluetooth.html),最接近 ID 的是 UUID,它不是 Android ID (http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids())

谢谢! J

【问题讨论】:

    标签: android wear-os


    【解决方案1】:

    这是可能的。您需要使用手持设备上的NodeApi,通过getConnectedNodes 获取连接的节点。它返回一个NodeApi.GetConnectedNodesResult 的实例。通过此对象,您可以检索所有连接节点的列表。例如

    Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).setResultCallback(new ResultCallback<NodeApi.GetConnectedNodesResult>() {
            @Override
            public void onResult(NodeApi.GetConnectedNodesResult getConnectedNodesResult) {
                    for (Node node : getConnectedNodesResult.getNodes()) {
                       Log.i(LOG_TAG, "node id " + node.getId());
                    }
             }
    });  
    

    【讨论】:

    • 我知道我已经批准了这个答案,但我只是在磨损模拟器上对其进行了测试,我得到了这个“9e9db081”,对于 Android ID 来说似乎有点太短了:(我做错了什么吗?
    • 试试node.geName()
    • 谢谢 -- 实际上,出于某种原因,getName 和 getId 返回相同的值。
    • 在真实设备上,id 要长得多。应该是模拟器吧。
    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多