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