如何解决Android-GPS Listener
| 我正在开发一个包含一些活动的Android应用程序。 无论用户当前正在使用哪种活动,我都希望从GPS(onLocationChanged
,onProviderDisabled
,onProviderEnabled
,onStatusChanged
)获取更新。
为了获得这种行为,我应该在哪里实施such4?
这是我创建的类:
public class MyLocationListener implements LocationListener{
private LocationManager locationManager;
private String provider;
@Override
public void onLocationChanged(Location locationGPS) {
//do something
}
@Override
public void onStatusChanged(String provider,int status,Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
Log.i(\"===========================\",\"==============================\");
Log.i(\"onProviderEnabled\",\"==============================\");
Log.i(\"===========================\",\"==============================\");
}
@Override
public void onProviderDisabled(String provider) {
Log.i(\"===========================\",\"==============================\");
Log.i(\"onProviderDisabled\",\"==============================\");
}
解决方法
在您要启动GPS的活动上启动位置监听器。要启动GPS,您可以使用
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new CTLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1.0f,locationListener);
并停止使用GPS
locationManager.removeUpdates(locationListener);
最好在服务的onCreate()
/onStart()
上写GPS开头,然后在服务的onDestroy()
上取下GPS并使用该服务。否则,一旦您停止GPS,在某些设备中重新启动GPS的机会就会少于50%。
,创建一个Service
并监视该位置,或者可以在单独的类中实现LocationListener
,并在每个Activity
中使用它,将其打开onResume()
,然后关闭onPause()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。