2017-04-04 2 views
0

Android Wearアプリの右上にあるアクションバーメニューの上部に、「HUAWEI WATCHを切断する」という項目が表示されます(これはテスト用の時計です)。Android WearアプリでAndroidの時計がプログラムで切断されている場合、アンドロイドの時計を「接続する」方法

このアイテムを選択した場合、実際には時計は「接続されていません」と表示されます。一般的なBluetooth設定ではBluetoothがオンになっていてもデバイスとBluetooth通信が行われません。最悪の場合、長時間電話を物理的に遠く離れてしまっていると、時計がユーザー入力なしで切断されることがあります。

私のアプリはBluetooth接続に大きく依存しており、エンドユーザーは時計が「接続されていません」という事実に気付かない可能性が非常に高いです。彼らはアプリがバグだと仮定します。

したがって、私のアプリが「切断された時計」状態を検出することが不可欠です。自動的にまたはユーザーの確認の後で、時計を再び接続するのが最善です。悪いケースでは、大文字小文字を検出し、Android Wearに問題を解決するようユーザーに尋ねることができます。

  • Android Wearメニューから時計が切断されたことをプログラムで検出する方法。
  • 接続方法。

これは、一般的にBluetoothが有効か無効かを検出する方法ではなく、Bluetoothデバイスのペア設定方法についても同様です。

私はsetUrgent()でデータAPIを使用しています。

答えて

1

私はあなたのノードが切断されたかどうかを検出するために

@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; 
          } 
         } 
        } 

      ); 

近くのノード

を取得するために使用できることを忘れないでください。だからこそ私はそのような幅広いアドバイスを語ることができます。

+0

完了していませんが、潜在的に役立つ可能性があります。疑念を超えてアップ・ヴォーティングを行うのは、もっと良いことがなければ受け入れるだろう。 – h22

+0

@ h22、より多くのコードを提供すれば、私は助けようとします – Vyacheslav

+0

私の場合はgetConnectedNodesが動作します。 onConnectionSuspendedは呼び出されません。 – h22

関連する問題