[Android] 擬似ロケーションのON/OFF状態取得
擬似ロケーションが有効になっているかどうかを取得する方法について。
「Settings.Secure.ALLOW_MOCK_LOCATION」がAPI level 23で非推奨となり使えなくなっているため、OSバージョンに依って処理を切り替えなければなりません。
Android4.3以降ではLocation#isFromMockProviderメソッドが使えるので、Android4.3以降かどうかで処理を分岐させます。
boolean isMock;
if (Build.VERSION_CODES.JELLY_BEAN_MR2 <= Build.VERSION.SDK_INT)
{
//-==- Android 4.3 移行 -==-//
isMock = location.isFromMockProvider();
}
else
{
//-==- その他 -==-//
isMock = Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0;
}