onGpsStatusChanged(int event) is never called

久未见 提交于 2019-12-12 20:33:53

问题


I´m trying on first fix do something. I just need one location after is gps fixed. I don´t know how to do it. I tried onLocationChanged, but is never called I tried onGpsStatusChanged and also is never called.

Is there any option how do something on getting first location?

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 is fixing fine, location can get... but I want run some method after first fix(if GPS isn't fixed berore lounch activity)

Thanks for help


回答1:


You need to add addGpsStatusListener

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


来源:https://stackoverflow.com/questions/15799337/ongpsstatuschangedint-event-is-never-called

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!