繁体   English   中英

如果在Android Wear应用中断开连接,如何以编程方式“连接” Android Watch?

[英]How to “connect” the android watch programmatically if disconnected in the Android Wear app?

在Android Wear应用程序中右上方的操作栏菜单顶部,我看到以下项目:“断开HUAWEI WATCH”(这是我用于测试的手表)。

如果我选择此项目,则手表的确是“断开连接”-即使蓝牙通常处于打开状态,并且在常规蓝牙设置中仍将设备视为配对,则与之没有蓝牙通信。 最糟糕的是,如果手表与手机之间的距离很长,有时会在没有用户输入的情况下断开手表的连接。

我的应用严重依赖蓝牙连接,最终用户很可能不会注意到手表“断开”的事实。 他们只是认为该应用有问题。

因此,对于我的应用程序而言,检测“手表断开连接”状态至关重要。 最好是自动或在用户确认后重新连接手表。 在最坏的情况下,可以检测到这种情况并要求用户去解决Android Wear的问题。

  • 如何通过Android Wear菜单以编程方式检测手表是否已断开连接。
  • 如何将其重新连接。

这不仅与如何检测一般启用或禁用蓝牙有关,还与如何配对蓝牙设备无关。

我将Data API与setUrgent()

我建议使用

@Override
public void onConnectionSuspended(int cause) {

}

检测您的节点是否断开连接。

曾经有

@Override
public void onPeerConnected(Node node) {
    Log.d(TAG, "CONNECTED");          
}

@Override
public void onPeerDisconnected(Node node) {
    Log.d(TAG, "PEER DISCONNECTED");
}

但是现在不推荐使用。

改用CapabilityApi

不要忘记您可以使用

  Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).setResultCallback(
                    new ResultCallback<NodeApi.GetConnectedNodesResult>() {
                        @Override
                        public void onResult(NodeApi.GetConnectedNodesResult nodes) {
                            for (Node node : nodes.getNodes()) {
                            mNode = node;
                            }
                        }
                    }

            );

检索附近的节点

我不知道您的代码。 这就是为什么我只能说这么广泛的建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM