私がやろうとしていること:
LOCATION_PROVIDERS_ALLOWEDはAPI
レベル 19 で減価償却されたため、次のように LOCATION_MODE を使用して、ユーザーが 19 以上で有効にした位置情報アクセスの程度を取得しようとしていAPI
ます。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
int locationMode;
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
// Check if Location services in ON and if YES then make sure its in either HIGH_ACCURACY or POWER_SAVING mode (Not in GPS_ONLY)
switch (locationMode) {
case Settings.Secure.LOCATION_MODE_OFF:
//....
break;
case Settings.Secure.LOCATION_MODE_SENSORS_ONLY:
//....
break;
//....
}
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
}
問題:
さて、LOCATION_MODEについては、ドキュメントで言及されています
注: この値が、対応する Uri の通知に存在する
settings.db
ことに依存しないでください。ContentObserver
私が理解できることは、使用するのが信頼できないことを意味しますLOCATION_MODE
。次に、API
19 歳以上の場合、ユーザーがアプリに対して許可した位置情報へのアクセスの範囲を知るために、他に何を使用することをお勧めしますか?