'正在开发一个Android应用程序,我对android开发很新。 目前,我无法找到在设备上停用GPS的方法。
我要做的是在用户点击按钮时停用GPS。据我所知,唯一的方法是使用LocationManager中的removeUpdates方法购买。但我的问题是这个方法等待LocationListiner作为参数。但我不知道如何获取LocationListiner:/
这是我的代码:
以下代码是我的MainActivity的onCreate
的一部分 Button save = (Button) findViewById(R.id.save);
save.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// Startet die Abfrage der GPS Position
final LocationManager mLocMan = GetMyLocation();
final AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); //Read Update
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.setTitle("GPS Signal");
alertDialog.setMessage("Some message");
alertDialog.setButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
mLocMan.removeUpdates();
}
});
alertDialog.show();
}
});
private LocationManager GetMyLocation(){
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
GetLocation getMyLocation = new GetLocation();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, getMyLocation);
return locationManager;
}
也许有人暗示我。目前我仍然有一些问题缠绕在android系统周围:/
答案 0 :(得分:0)
您需要在LocationListener的某处实现,以便能够通过onLocationChanged(位置位置)接收更新。
然后,你必须使用locationManager.removeUpdates(MyLocationListener);
您可以使用该活动来实现侦听器 locationManager.removeUpdates(本);
public class MyActivity extends Activity{
...
LocationManager manager;
GetLocation listener;
@Override
protected void onCreate() {
manager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
listener = new GetLocation();
@Override
protected void onResume() {
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
}
@Override
protected void onPause() {
manager.removeUpdates(listener);
}