[英]Android: Disable mock location for geofence
我正在純粹基於geofence開發一個Android應用程序。
概念:我關於地理圍欄的基本概念是用戶可以針對特定地理位置玩游戲。
問題:一切正常,但是我從這里下載了FakeGPS應用程序。 我當時在家中,因此可以在這里設定自己想要的位置來玩游戲。 我的應用程序檢測到該地理位置,因此我可以在家中玩該游戲。 實際上,應該只為地理位置玩該游戲。
解決方案:我已經通過給定的代碼檢查了位置是來自MockProvider還是不是來自GeofenceIntentService
類。
boolean isMockLcoation = geofencingEvent.getTriggeringLocation().isFromMockProvider();
但是它不是一個可靠的解決方案。 我並非每次都能得到准確的結果。
我已經檢查過LocationAssistance
服務,但是無論如何它對我的地理圍欄沒有幫助。
目標:我想為我的應用程序禁用模擬位置或區分該位置是真實的還是模擬的。
您可能只想檢查是否啟用了模擬位置設置。 這是一個簡單的答案,或者您可以使用下面的代碼,該代碼來自相同的答案。
https://stackoverflow.com/a/16776891/5318240
public static boolean isMockSettingsON(Context context) {
// returns true if mock location enabled, false if not enabled.
if (Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION).equals("0"))
return false;
else
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.