我正在开发一个
Android应用程序,它也在Android Wear设备上使用通知.对于我的应用程序功能而言,了解Wear设备是否已连接至关重要 – 而且似乎无法确定.
我尝试过以下方法:
>使用Nodelistener API.我想做一些简单的事情 – 比如重新启动手表并看到它离线和在线,但我没有收到这些事件.我已经读过,这只是导致这些事件被发送的手表的硬核配对/取消配对(这似乎是错误的,并且它太复杂,无法说明我的应用程序的目的).我也读过这篇文章(https://plus.google.com/+NathanSchwermann/posts/1Rs9etY5qte),但我已经在我的应用程序中使用了WLS.
>使用蓝牙监听器(Broadcastreceiver监听BluetoothDevice.ACTION_ACL_CONNECTED和DISCONNECTED操作),它完美无缺 – 除了我无法确定它是否是连接的Wear设备.同样,这是因为NodeApi:Wearable.NodeApi.getConnectedNodes(wearApiClient).setResultCallback …永远不会得到结果回调.这是我在顺便获取ACION_ACL_CONENCTED操作时尝试做的事情 – 然后我只想查看连接了多少个节点并确定它是否是新连接的节点.
所以这一切都不起作用,我没有想法.似乎NodeApi不起作用,因为开发人员想要使用它,我真的需要这个功能.
有谁知道一个聪明的方法来解决这个问题?
**更新:**
为了澄清,我希望在设备连接和断开连接时收到回调.
最佳答案 您可以检查连接到设备的节点数
列表与LT;节点> connectedNodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).await().getNodes();
但要小心,Google Glass会被视为一个节点,因此如果您将智能手表和Google Glass连接到掌上电脑,您将拥有2个节点,而不是一个节点.