Загрузив сегодня свое приложение на рынок, я увидел, что оно доступно только для устройств с 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" />
Редактировать: спасибо за Ответ Рагхав Суд!
Добавить в манифест:
<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 и посмотрите, закрывается ли принудительное приложение.