GPS清单:在应用程序中的GPS是可选的,希望使其可用于GPS更less的设备

在今天上传我的应用程序到市场上,我看到它只适用于带有GPS的设备,所以这不包括一些平板电脑。

我的应用程序中的GPS是可选的。 是否有可能发布一个应用程序的设备有和没有GPS或我需要一个额外的版本(虽然没有问题,但)?

如果有可能,我想有一种方法来检查是否(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; } 

要testing它在设备上使用GPS,只需用if(deviceHasGPS){…}包围GPS,然后在清单中删除:

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

将deviceHasGPS设置为始终为false并查看App强制closures。

Solutions Collecting From Web of "GPS清单:在应用程序中的GPS是可选的,希望使其可用于GPS更less的设备"

将以下内容添加到您的清单

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

这将告诉Google Play,虽然您的应用程序有GPS,但绝对的要求是不正确的。 但是,您应该优雅地处理您的应用程序中缺乏GPS,而不是让它崩溃。

要检查设备是否具有GPS,您可以调用LocationManager.getAllProviders()并检查列表中是否包含LocationManager.GPS_PROVIDER