我有一个位置监听器,会在邻近区域弹出一个警告对话框。但是,当我四处走动时,它会一次又一次地弹出相同的警报对话框。有没有办法在弹出警报对话框时禁用位置监听器,并在用户提交或取消警报对话框时重新启用位置监听器?
答案 0 :(得分:0)
显示alertdialog后
alertDialog.show();
呼叫
locManager.removeUpdates(locListener);
//here locManager is your LocationManager object and locListener is your LocationListener
然后用户点击警告对话框的某个按钮再次注册位置监听器,就像这样..
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//here register for location listener again..
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updateInterval, updateDistance, locListener);
} });