我正在开发一个包含一些 Activity 的 Android 应用程序。
无论在哪个 Activity 中,我都想从 GPS(onLocationChanged
、onProviderDisabled
、onProviderEnabled
、onStatusChanged
)获取更新用户当前正在使用。
我应该在哪里实现 LocationListener
以获得这样的行为?
这是我创建的类:
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", "==============================");
Log.i("===========================", "==============================");
}
最佳答案
在您想要启动 gps 的 Activity 上启动位置监听器。要启动 GPS,您可以使用
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new CTLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1.0f, locationListener);
并停止您可以使用的 GPS
locationManager.removeUpdates(locationListener);
最好将 GPS 启动写在 onCreate()
/onStart()
上,将 GPS 删除写在一项服务并使用该服务。否则,一旦您停止 GPS,在某些设备中再次启动 GPS 的机会小于 50%。
关于Android - GPS 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6138198/