0

これが私のコードで、ファイルから 1 つずつ (既に保存されている) MAC アドレスを読み取ります。次に、デバイスがまだ私の周りにあるかどうかを確認したいと思います。誰か助けてくれませんか。

private void search(){
                        String collected;
                       fis=openFileInput(FILENAME);
            byte[] dataArray= new byte[fis.available()];
            while(fis.read(dataArray) != -1){

                          collected = new String(dataArray);
                               // here i want to write that code...

            }//while

}
4

1 に答える 1

1

2 つのオプションがあります。

  1. 発見を行い、それが結果に表示されるかどうかを確認します (つまり、それに対して ACTION_FOUND を取得しますか)。Bluetooth 無線は他に何もできず、すべてのチャネルでブロードキャストする必要があるため、多くのスペクトルを消費するという点で非常にリソースを集中的に使用するため、これは悪い考えだと思います。

  2. それに接続してみてください。たとえば、既知の UUID にソケット接続します。デバイスが近くにない場合、接続は約 5 秒で失敗します (これは、検出を完了するのにかかる時間の約 3 分の 1 です)。デバイスが近くにあり、最近接続した場合 (つまり、Bluetooth ラジオがクロック オフセットを認識している場合)、すぐに接続できます。

#2を実装するために、これは私が念頭に置いていた方法です: http://developer.android.com/reference/android/bluetooth/BluetoothSocket.html#connect()

そして、これを使用するためのコードを次に示します: http://developer.android.com/guide/topics/wireless/bluetooth.html#ConnectingAsAClient

于 2012-05-09T18:49:49.063 に答える