gps开/关状态更改的事件

时间:2013-12-16 13:13:27

标签: android gps

我想在我的应用程序中监听GPS状态更改,在android中是否有任何intent-action我可以在broadCast接收器中使用,如android.net.conn.CONNECTIVITY_CHANGE用于网络状态?

1 个答案:

答案 0 :(得分:3)

您可以注册BroadcastReceiver以收听Intent Action PROVIDERS_CHANGED_ACTION。 或者你可以尝试这个片段

GpsStatus.Listener gpsListener = new GpsStatus.Listener() {
                    public void onGpsStatusChanged(int event) {
                        if( event == GpsStatus.GPS_EVENT_FIRST_FIX){
                            showMessageDialog("GPS fixed");
                        }
                    }
             };

OR

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.addGpsStatusListener(new android.location.GpsStatus.Listener()
{
    public void onGpsStatusChanged(int event)
    {
        switch(event)
        {
        case GPS_EVENT_STARTED:
            // do your tasks
            break;
        case GPS_EVENT_STOPPED:
            // do your tasks
            break;
        }
    }
});