Подтвердить что ты не робот

GPS-манифест: GPS в приложении является дополнительным, вы хотите сделать его доступным для устройств с GPS меньше

При загрузке моего приложения на рынок сегодня я увидел, что он доступен только для устройств с GPS, поэтому это исключает некоторые планшеты.

GPS в моем приложении не является обязательным. Можно ли выпустить одно приложение для устройств с GPS и без него или мне нужно сделать дополнительную версию (не было бы проблем, хотя)?

Если это возможно, я предполагаю, что есть какой-то метод проверки if (deviceHasGPS()) {...}. Есть один?

Это часть моего манифеста:

<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />

Изменить: спасибо за ответ Raghav Sood!

Добавить в манифест:

<uses-feature android:name="android.hardware.location.gps" 
              android:required="false" />

Внедрите следующее:

locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
boolean deviceHasGPS = false;
    if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {
        deviceHasGPS = true;
    }

чтобы проверить его на устройстве с gps, просто окружайте gps с помощью if (deviceHasGPS) {...} затем удалите в манифесте:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

установить deviceHasGPS всегда false и посмотреть, закрывается ли приложение.

4b9b3361

Ответ 1

Добавьте в свой манифест следующее:

<uses-feature android:name="android.hardware.location.gps" android:required="false" />

Это скажет Google Play, что, хотя ваше приложение имеет GPS, это абсолютное требование неверно. Тем не менее, вы должны обрабатывать отсутствие GPS в своем приложении изящно, вместо того, чтобы позволить ему сбой.

Чтобы проверить, есть ли у устройства GPS, вы можете вызвать LocationManager.getAllProviders() и проверить, включен ли LocationManager.GPS_PROVIDER в список.