0

アプリの実行中にアプリケーションを検出できるようにする方法はありますか? 私はこれをやろうとしました

Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivityForResult(discoverableIntent, DISC_DURATION);

Android Developers に示されているように、0 の Duration は機能しないため、デフォルト値 120 が設定されています。常に見えるように設定する方法はありますか?

4

3 に答える 3

0

Bluetooth を常に検出可能にしておく手段はありません。いくつかの新しいデバイスを見つけたいとき、または他のデバイスがあなたのデバイスを見つけることができるときは、それを検出可能にする必要があります. その後、デバイスは共有 MAC ID を交換し、ペアになります。

デバイス検出の実行は、Bluetooth アダプターにとって負荷の高い手順であり、多くのリソースを消費します。接続するデバイスを見つけたら、接続を試みる前に必ず cancelDiscovery() で検出を停止してください。また、すでにデバイスとの接続を保持している場合、検出を実行すると、接続に使用できる帯域幅が大幅に減少する可能性があるため、接続中に検出を実行しないでください。

詳細については、これを参照してください

http://developer.android.com/guide/topics/wireless/bluetooth.html#DiscoveringDevices

于 2011-08-03T11:25:18.830 に答える
0

There is no way for you to set bluetooth to be continuously discoverable on any 2.* version of Android; see this bug report. It seems like the limitation has been removed in 3.* versions, but I haven't seen any confirmation of this.

于 2011-08-03T18:34:38.603 に答える
0

私が持っている3つのデバイスで結論に達しました。

ANDROID v 4.3 以降: EXTRA_DISCOVERABLE_DURATION 0 は無制限に動作します ANDROIND v 4.1: EXTRA_DISCOVERABLE_DURATION 0 は最大 1 時間です。パラメータを無制限に手動で変更する必要があります。

于 2015-03-21T11:28:40.480 に答える