ブルートゥースを必要とするアプリを書いています。一部のデータを同期する必要があるかどうかを定期的に確認します。バッテリーの使用量はどちらが良いですか?
- Bluetooth を常にオンにして、通信に必要なときに使用します。
また - 必要に応じてスイッチをオンにし、オフにします。
ユーザーが BT 状態をオンまたはオフにしておくことを好む理由が何であれ、ユーザーに BT 状態を強制するべきではないと思います。アプリケーションでできる唯一のことは、必要なときにいつでも BT をオンにするようにユーザーに依頼することです (インテント BluetoothAdapter.ACTION_REQUEST_ENABLE を使用)。
BluetoothAdapter の enable() メソッドは、ユーザーの同意なしに使用しないでください (SDK リファレンスから):
Bluetooth は、ユーザーの直接の同意なしに有効にしないでください。ワイヤレス接続を作成するために Bluetooth をオンにする場合は、ACTION_REQUEST_ENABLE インテントを使用する必要があります。これにより、Bluetooth をオンにするユーザーの許可を要求するダイアログが表示されます。enable() メソッドは、「パワー マネージャー」アプリなど、システム設定を変更するためのユーザー インターフェイスを含むアプリケーションに対してのみ提供されます。
「Bluetooth をオンにして同期する」ボタンを追加し、終了したらユーザーにフィードバックを提供してから、オフにするように要求します。
チェックの時間間隔に大きく依存すると思います。チェックが大きな間隔で行われる場合は、オン/オフを切り替えたほうがよいでしょう。そうでない場合、頻繁に行われる場合は、オンにしておくことに大きな違いはないでしょう。