Как предотвратить Android Mock Location в приложении PWA? - PullRequest
0 голосов
/ 12 февраля 2020

В PWA мы можем получить текущую позицию устройства с помощью API геолокации W3 C. Это просто.

  if (!navigator.geolocation) {
    status.textContent = 'Geolocation is not supported by your browser';
  } else {
    status.textContent = 'Locating…';
    navigator.geolocation.getCurrentPosition(success, error);
  }

Но в Android API местоположения W3 C зависит от настройки фиктивного местоположения пользователя. Таким образом, пользователь может легко подменить текущую позицию.

Есть ли способ предотвратить установку фиктивного местоположения в PWA?

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

проверить расположение макета, используя это условие:

 public static boolean isMockLocation(Location location) {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && location != null && location.isFromMockProvider();
    }
0 голосов
/ 12 февраля 2020

Я не очень разбираюсь в PWA, но ниже приведен код java, который помогает вам проверить, включена ли настройка ложного местоположения или нет.

/**
     * Method for check is location server enabled or not
     * @param context
     * @return
     */
    public static boolean isMockSettingsEnabled(Context context) {
        return !Settings.Secure.getString(context.getContentResolver(),
                Settings.Secure.ALLOW_MOCK_LOCATION).equals("0");
    }
...