Android アプリで BTLE デバイスをスキャンするには、ACCESS_COARSE_LOCATION
またはACCESS_FINE_LOCATION
. しかし、アプリはペアリングするために BTLE デバイスをスキャンする必要がありますか?
これは、睡眠モニターとペアになって次のように正当化するアプリで特に見られます。
Android 6.0 Marshmallow の時点で、Android では、Bluetooth Low Energy スキャンを実行するアプリは、最初にデバイスの位置情報サービスにアクセスするための許可を要求し、取得する必要があります。
そのため、Sense はセットアップ中に位置情報サービスへのアクセス許可を求めます。Sense のペアリングを完了するには、位置情報サービスへのアクセスを許可する必要があります。
これは本当に必要ですか?ユーザーの位置情報を必要とせずにペアリングするにはどうすればよいでしょうか? OS の Bluetooth ダイアログを介して、アプリとは別にデバイスとペアリングすることができました。