Android

[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;
}

 
 

-Android
-,