【问题标题】:How to receive gps enabled/disabled?如何接收启用/禁用的 gps?
【发布时间】:2011-03-01 17:36:21
【问题描述】:

您好,我正在尝试编写一个小部件来显示 GPS 状态。 如果用户更改 GPS 启用状态,我希望更新我的小部件。

换句话说:我想更新我的小部件当 gps 状态发生变化时。 我需要写一个广播接收器吗?如果是,它将收到什么操作?

感谢您的回答。

【问题讨论】:

    标签: android gps listener broadcastreceiver


    【解决方案1】:

    以下是我最近用来执行此操作的方法,但我必须警告您,当根本没有 GPS 硬件时,我发现它(至少在一台设备上)返回 true。传入一个像 LocationManager.GPS_PROVIDER 这样的值。 locationManager 是 LocationManager 的一个实例。希望您会发现此代码很有用,但尽管在我当前的情况下它适用于我,但我希望您需要对其进行改进。

    // Checks whether the specified location provider is enabled on the device
    public static boolean isLocationProviderEnabled(String provider)
    {
        if ( locationManager.isProviderEnabled(provider) )
        {
            if (provider.toLowerCase().equals(LocationManager.GPS_PROVIDER))
            {
                return haveGPS();
            }
            else
            {
                return true;
            }
        }
        else
        {
            return false;
        }
    }
    
    // Checks whether the GPS hardware is present in the device
    private static boolean haveGPS()
    {
        PackageManager pmgr = SpondleApplication.getInstance().getPackageManager();
        boolean gotGPS = pmgr.hasSystemFeature("android.hardware.location.gps");
        return gotGPS;
    }
    

    【讨论】:

    • 感谢您的回答。我的问题实际上是接收启用/禁用 gps 的广播。我想在 gps 状态发生变化时更新我的​​小部件。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 2011-06-10
    • 1970-01-01
    相关资源
    最近更新 更多