永远不会调用onGpsStatusChanged(int事件)

时间:2013-04-03 22:26:12

标签: android gps

我正在尝试第一次修复做某事。 gps修复后我只需要一个位置。我不知道该怎么做。我试过onLocationChanged,但是从来没有调用过我试过onGpsStatusChanged而且从来没有调用过。

有没有选择如何获得第一个位置?

public class CenyActivity extends FragmentActivity implements LocationListener, OnMapClickListener, GpsStatus.Listener{

@Override
public void onGpsStatusChanged(int event) {
 if (event == GpsStatus.GPS_EVENT_STARTED) {
        Log.d("zmenaGPS" , "GPS event started ");


    } else if (event == GpsStatus.GPS_EVENT_STOPPED) {
        Log.d("zmenaGPS" , "GPS event stopped ");
        GpsStatus gs = locationManager.getGpsStatus(null);
        Log.d("zmenaGPSgps status" , String.valueOf(gs));

    } else if (event == GpsStatus.GPS_EVENT_FIRST_FIX) {
        Log.d("zmenaGPS" , "GPS fixace ");

    } else if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {
        Log.d("zmenaGPS" , "GPS EVET NECO ");

    } 
}

public void onLocationChanged(Location location) {

Log.d("Location", "change");
}

GPS固定不错,位置可以得到......但我想在第一次修复后运行一些方法(如果GPS不是固定的berore lounch活动)

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

您需要添加addGpsStatusListener

LocationManager locMgr = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
locMgr.addGpsStatusListener(this);