2013-03-26 70 views
1

我想在GPS啓用狀態時調用方法。我寫了這個,但它不起作用。GPS啓用時如何調用方法

private LocationManager locManager; 
private GpsStatus mStatus; 

locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
locManager.addGpsStatusListener(this); 

@Override 
public void onGpsStatusChanged(int event) 
{ 
    mStatus = locManager.getGpsStatus(null); 
    switch (event) { 
     case GpsStatus.GPS_EVENT_STARTED: 
      myMethod1(); 
      break; 

     case GpsStatus.GPS_EVENT_STOPPED: 
      myMethod2(); 
      break; 

     case GpsStatus.GPS_EVENT_FIRST_FIX: 
      break; 

     case GpsStatus.GPS_EVENT_SATELLITE_STATUS: 
      break; 
    } 
} 

任何人都可以幫助我嗎?

回答

1
@Override 
    public void onLocationChanged(Location location) { 
    } 

    @Override 
    public void onProviderDisabled(String provider) { 

      // GPS Enable 
    } 

    @Override 
    public void onProviderEnabled(String provider) { 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
    } 
+0

我需要知道什麼時候GPS從禁用到啓用 – wiki 2013-03-26 11:12:27

0

您可以通過以下方式檢測GPS的狀態。

看看GpsStatus.Listener。使用locationManager.addGpsStatusListener(gpsStatusListener)註冊它。

也請查看此SO link以獲得更好的理解。

+0

非常感謝您的回答,我使用您的回覆編輯了問題。這個想法是有趣的,但我不能工作 – wiki 2013-03-26 11:57:12