【问题标题】:GPS returning Null Location in Some android devicesGPS 在某些 android 设备中返回空位置
【发布时间】:2013-01-12 23:00:29
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    您应该像这样检查提供者的可用性:

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

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

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

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

    另外,我有一个建议给你:你不应该开始使用Timer 请求位置更新,你应该将你想要位置更新的最短时间和距离传递给requestLocationUpdates()

    【讨论】:

    • 感谢您的回复...实际上提供商已启用,但 GPS 有时会返回空位置。为此,我使用了 runOnFiristFix() 线程,它也适用于前两个设备,但不适用于三星的二重奏和 HTC One X...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2018-05-03
    • 2020-05-21
    相关资源
    最近更新 更多