在我的应用程序中,如果未启用gps,则调用gps设置菜单。我在Oncreate()方法中调用了它。但是,我还想检查用户是否实际启用了它?
我的问题是当用户从设置菜单返回时调用哪个活动生命周期方法。
我尝试为OnResume方法编写代码。但即使启用GPS,alertdilogue也会继续弹出。
if (gps.canGetLocation()) {
latitude = gps.getLatitude();
longitude = gps.getLongitude();
altitude = gps.getAltitude();
gpsLocation = "Latitude: " + latitude + ", Longitude:" + longitude
+ ",Altitude:" + altitude;
System.out.println("GPS @ Avaialable Form"+gpsLocation);
Logger.e(this, "GPS Location", gpsLocation);
} else {
gps.showSettingsAlert();
}
我在OnCreate()和
中调用了此代码protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("On Resume gets Called");
if (gps.canGetLocation()) {
latitude = gps.getLatitude();
longitude = gps.getLongitude();
altitude = gps.getAltitude();
gpsLocation = "Latitude: " + latitude + ", Longitude:" + longitude
+ ",Altitude:" + altitude;
System.out.println("GPS @ Avaialable Form"+gpsLocation);
Logger.e(this, "GPS Location", gpsLocation);
} else {
gps.showSettingsAlert();
}
在OnResume()方法中。
答案 0 :(得分:0)
一个很好的方法是使用触发的调用方法构建,当调用一个类似于pause()的事件时,然后记录事件的名称,然后你知道哪个类被触发到哪个时间
答案 1 :(得分:0)
据我所知,唯一可靠的方法是设置并通过监听器(GpsStatus.Listener)监听gps更改 - LocationManager #addGpsStatusListener(...)。 在onGpsStatusChanged方法中,您可以对GpsStatus#GPS_EVENT_STARTED或GpsStatus#GPS_EVENT_STOPPED做出反应,并通过Handler更改UI的更新。希望这会有所帮助: - )