2011-09-23 21 views
7

私はここに新しいです、あなたの投稿をたくさん読んだことがありますが、私の問題の解決策はまだ見つかりません。ペアリングされたBluetoothデバイスとの自動接続

私はエンドデバイスに接続するためにBluetoothを使用してAndroid 2.2用のアプリを作成しています。 私はPaired Devicesのリストを持っています。私はAndroidタブレットを既に知られている各デバイスに接続できます。

私がやりたかったことは、Androidタブレット(通信中のマスター)が既知のペアデバイスの1つが範囲内にあることを検出すると自動的にエンドデバイスと接続することです。

誰かが私の近くにいるかどうかを常にポーリングしてみることができますが、それはバッテリー寿命が長くなります。エンドデバイスとアンドロイドタブレットのいずれかで範囲内に入るとPolling-Processの途中で、私は自動接続を取得しませんでした。私は次のポーリングサイクルまで待たなければならなかった。

問題の解決方法はありますか?あなたの答えのために/

おかげで、我々はそれに対処することを願って - を:

は、私は、全体の事はBT-ヘッドセットと私の便利のように動作するでしょう!

答えて

0

このソリューションが機能するかどうかはわかりません。アイデアは、すべてのペアデバイスを取得し、それをループし、そのデバイスのMACアドレスを使用して接続しようとしています。

String macAddress;  
    for (BluetoothDevice device : pairedDevices) { 

    BluetoothSocket bluetoothSocket = null; 
    try { 
     if (bluetoothSocket == null || !bluetoothSocket.isConnected()) { 
     bluetoothSocket = device.createRfcommSocketToServiceRecord(MYUUID); 
     mBluetoothAdapter.cancelDiscovery(); 
     if(!bluetoothSocket.isConnected()){ 
      bluetoothSocket.connect(); 
     } 
     if (bluetoothSocket.getInputStream() != null && bluetoothSocket.getOutputStream() != null) { 
      macAddress = device.getAddress(); 
     } 
    } 
関連する問題