Android API ガイド > Bluetooth > 検出可能性の有効化 から:
アプリが設定できる最大期間は 3600 秒です。値 0 は、デバイスが常に検出可能であることを意味します。0 未満または 3600 を超える値は、自動的に 120 秒に設定されます)。たとえば、次のスニペットは期間を 300 に設定します。
そのため、デバイスを常に検出可能にし、そのコード スニペットを使用したいと考えています。
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivity(discoverableIntent);
このスニペットは、デバイスを「他の Bluetooth デバイスから常に見えるようにする」許可を求めるダイアログをユーザーに正しく表示しますが、「はい」を押すと、デバイスが 120 秒間だけ検出可能になります。
これはバグですか?私はそれについて何ができますか?Samsung Galaxy S2を使用して、API 17でテストしています。
編集:
ここで、これは Android を超えており、この問題は のDiscoverableTimeout
値に関係しているという回答の 1 つが示唆されています/system/etc/bluetooth/main.conf
。これは本当ですか?もしそうなら、どのように値を編集しますか?