1. ホーム
  2. android

[解決済み] ACCESS_COARSE_LOCATIONパーミッションはいつ使うべきですか?

2023-05-11 12:29:35

質問

ユーザーのジオロケーションを追跡し、地図上にルートを描くAndroidアプリを構築しています。

私は Google Play Services の位置情報 API を使用していますが、これは次のように説明されています。 ここで .

私のアプリケーションでは、直感的に理解できるように ACCESS_FINE_LOCATION パーミッションが必要であることは直感的に理解できますので、マニフェストに記載しました。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

また ACCESS_COARSE_LOCATION の許可も必要ですか? 粗い位置が必要なユースケースは何ですか?

どのように解決するのですか?

<ブロッククオート

ACCESS_COARSE_LOCATIONパーミッションも必要ですか?

いいえ。

<ブロッククオート

粗い位置が必要なユースケースは?

を求めない場合 ACCESS_FINE_LOCATION を要求していないが、位置情報が必要で、そのデータが曖昧でも構わない場合(例えば、ユーザーの位置から1ブロック程度まで)。の場合 LocationManager の場合は NETWORK_PROVIDER のみです。Play Services の融合型ロケーションプロバイダの場合は、内部でこれを処理する必要があります。

昔々、ずっと昔、ユーザーはインストール時に、アプリが粗い位置情報アクセスを望むか細かい位置情報アクセスを望むかを伝えられました。ユーザーは、粗いアクセスを希望するアプリを受け入れ、細かいアクセスを希望するアプリを拒否することがありました。

この UI が変更され、ユーザーはアプリが粗い位置情報アクセス許可を望んでいるか細かい位置情報アクセス許可を望んでいるかを判断するのがかなり難しくなったため、ほとんどの開発者は細かい位置情報アクセス許可を要求するだけだと思われます。とはいえ、自分のアプリがそこまでの精度を必要としないことがわかっている場合 (たとえば、天気予報のための位置情報が欲しい場合)、粗い位置情報の許可を求めることは、プライバシーの方向への素晴らしい脱帽であり、将来的に再び有益であることを証明することができます。

更新日 2021-11-16 : Android 12 は、要求があれば UI を変更する。 ACCESS_FINE_LOCATION . のみを取得するようにダウングレードするオプションをユーザーが持つようになりました。 ACCESS_COARSE_LOCATION アクセス のみを取得するように変更することができます。