web-dev-qa-db-ja.com

「常に許可する」場所プロンプトが表示されないAndroid SDK 29

SDK 29で「常に許可」という場所のプロンプトを取得できません。マニフェストでこれらの権限をすでに設定しています。

<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />

「アプリが開いているとき」と「拒否」の選択肢のみを返します。

SDK 29でそれを表示する方法についての考え。

2
Shylendra Madda

Android 10(APIレベル29)以上を実行しているデバイスでバックグラウンドで場所にアクセスするには、マニフェストファイルで以下の権限も使用する必要があります。

 <uses-permission Android:name="Android.permission.ACCESS_BACKGROUND_LOCATION" />

詳細については、以下のリンクを参照してください

https://developer.Android.com/training/location/request-updates?hl=fr

0
satuser

マニフェストに許可のみを追加するだけでは不十分であることがわかりました。 ACCESS_FINE_LOCATIONの場合と同じように、起動時にユーザーに付与するオプションを提供する必要がありました。興味深いことに、アプリでバックグラウンドのアクセス許可が既に付与されているかどうかを確認すると、falseになることはありません。ただし、チェックしないと、[常に許可する]オプションが表示されません。これはAndroid Pixel 2バージョン10にあります

Androidの10以上のバージョンでのみ必要です。両方のアクセス許可を要求すると、ダイアログボックスでユーザーに選択肢が与えられます...もちろん、ユーザーは[常時]を選択できません。それについては誰にもできません!

0
Brian Reinhold