我有 Android 平板电脑用户报告说他们无法使用我的应用程序,因为他们没有 GPS。我本来期望这个电话:
(LocationManager) getSystemService(LOCATION_SERVICE);
在此类设备上返回 null,但鉴于我的用户在该领域的报告可能并非如此。
我缺少这些无 GPS 的安卓平板设备之一;有人可以告诉我如何检测我何时在这样的设备上运行,理想情况下使用 1 或 2 行代码片段?
非常感谢。
位置管理器还可以使用网络来确定位置,因此即使设备没有 GPS,您仍然可以获取(粗略的)位置。
如果您想要求用户拥有 gps,那么最好的方法是在您的 AndroidManifest 中包含一个 uses-feature 标签:(文档:http: //developer.android.com/guide/topics/manifest/uses-feature-element .html )
<uses-feature android:name="android.hardware.location.gps" android:required="true" />
required 标签允许您从应用程序中阻止他们,或者只是告诉他们这是必需的。但是如果您想使用 LocationProvider 来测试是否有 GPS,那么直接回答您的问题:
LocationManager.getProvider(LocationManager.GPS_PROVIDER)
将返回空值。