5

PlacePickerはcom.google.android.gms:play-services-places:9.4.0で添加有用ウィジェットです。ここでの説明を探す:PlacePickerAndroid PlacePickerでACCESS_FINE_LOCATION権限が必要なのはなぜですか(!)

ドキュメントは明確にあなたはそれを動作させるためのACCESS_FINE_LOCATIONの許可が必要であることを述べています。

マシュマロで

、あなた以上にもこの権限を付与するユーザーを依頼する必要があります。
しかし、これは何もせずに動作するようです!
マイアプリは

  • ない
  • ないはいつでもこの権限を付与するユーザーを頼むAndroidManifestに許可を定義するキーマップのAPIを提供してい

しかし、マシュマロデバイス上でアプリケーションを実行すると、PlacePickerを起動して、私のことができん

  • は場所を正しく選択します(APIキーなしでは不可能です)。
  • (APIキーなしで可能)MyLocation-ボタンで「現在地」に移動

誰もがこれを確認するか、このウィジェットが付与された適切な権限なしで動作する理由の説明を持ってすることはできますか?

+0

また、私はACCESS_FINE_LOCATION – pandalion98

答えて

1

質問はほとんど歳ですが、私はそれが他の誰かを助けることができるように、同じ答えを見つけるためにしようとしていました。

PlacePickerは「意図に基づく要求」で動作するからです。ドキュメントはそれほど明確ではありませんが、

1:あなたのアプリが動作するために必要な権限のみを使用してください。権限の使い方によっては、機密情報へのアクセスに頼ることなく、必要なもの(システムの意図、識別子、通話のバックグラウンド)を行う別の方法があるかもしれません。 Source

そして、ここでいくつかの手掛かりを与える:

をユーザーデータへのアクセスのためのあなたの要件はまれである場合 - つまり、ユーザは各ランタイム対話を提示するために、それが許容できないほど破壊的ではありませんインテントベースのリクエストを使用することができます。 Androidは、アプリケーションが許可を必要とせずに使用できるいくつかのシステムインテントを提供します。理由は、インテントベースのリクエストが発行された時点でユーザーがアプリを共有するために何かを選択するためです。 Source

私はテストの権限は、私はマニュアルに従って許可のこの種を使用MediaStoreとの意思に基づく権限を使用することができると思ったPlacePickerとの結果を比較し、マシュマロとロリポップデバイスとの例を使用し、それを考え出しました:

たとえば、MediaStoreのインテントアクションタイプ。ACTION_IMAGE_CAPTUREまたはMediaStore.ACTION_VIDEO_CAPTUREを使用して、Cameraオブジェクトを直接使用しないで(または許可が必要な場合)、イメージまたはビデオをキャプチャできます。この場合、システムインテントは、イメージがキャプチャされるたびに、ユーザーの代わりにユーザーの許可を求めます。 たとえば、MediaStore.ACTION_IMAGE_CAPTUREまたはMediaStore.ACTION_VIDEO_CAPTUREのインテントアクションタイプを使用して、Cameraオブジェクトを直接使用しないで(または許可が必要な場合)、イメージまたはビデオをキャプチャできます。この場合、システムインテントは、イメージがキャプチャされるたびに、ユーザーの代わりにユーザーの許可を求めます。 Source

関連する問題