ste*_*ple 28 gps android android-manifest
在今天将我的应用程序上传到市场上时,我发现它仅适用于带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" />
Run Code Online (Sandbox Code Playgroud)
编辑:感谢答案Raghav Sood!
添加到清单:
<uses-feature android:name="android.hardware.location.gps"
android:required="false" />
Run Code Online (Sandbox Code Playgroud)
实施以下内容:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
boolean deviceHasGPS = false;
if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {
deviceHasGPS = true;
}
Run Code Online (Sandbox Code Playgroud)
要在具有gps的设备上测试它,只需使用if(deviceHasGPS){...}围绕gps,然后在清单中删除:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
将deviceHasGPS设置为始终为false并查看App force是否关闭.
Rag*_*ood 38
将以下内容添加到清单中
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
Run Code Online (Sandbox Code Playgroud)
这将告诉Google Play,当您的应用拥有GPS时,绝对要求并非如此.但是,您应该优雅地处理应用程序中缺少GPS,而不是让它崩溃.
要检查设备是否有GPS,您可以呼叫LocationManager.getAllProviders()并检查是否LocationManager.GPS_PROVIDER包含在列表中.
| 归档时间: |
|
| 查看次数: |
8316 次 |
| 最近记录: |