GPS在某些Android设备中返回Null位置

时间:2013-01-29 11:26:01

标签: android android-layout android-intent android-emulator android-widget

在我的应用程序中,我需要每30分钟显示一次Current Lcoation。为了实现这一点,我使用Timer每30分钟触发一次。

它在HTC Wildfire S,Sony Xperia V等一些Android设备上运行良好... 但它不适用于三星S Duos和HTC One X ...因为当我请求GPS它返回NULL作为当前位置值。我不知道为什么设备不支持我的应用程序可以任何人帮助profe。

1 个答案:

答案 0 :(得分:0)

您应该检查提供商的可用性,如下所示:

List<String> providers = locationManager.getProviders(true);

然后你开始听可用的传感器:

if (providers.contains(LocationManager.GPS_PROVIDER))
{
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,...);
}

如果您想要的传感器不可用,您应该向用户弹出一个对话框,要求他激活GPS,或者你想要的。

此外,我向您推荐:您不应该使用Timer开始请求位置更新,您应该将requestLocationUpdates()传递给最短时间&amp;您希望位置更新的距离。