Моя программа пытаются получить местоположения GPS каждый раз, когда в интервале, определенном пользователемобработчик сообщений переоформляется на возобновление деятельности
@Override
protected void onStart() {
super.onStart();
mHandler.sendEmptyMessage(Call_GPS); }
Для этого я создаю обработчик сообщений, и я использую sendEmptyDelayedMessage с величиной задержки введенный пользователем. В сообщении я вызываю метод getLocation(), который начать принимать координаты GPS и сохранить их
@SuppressLint("HandlerLeak")
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case Call_GPS:
getLocation();
mHandler.sendEmptyMessageDelayed(Call_GPS,Integer.parseInt(Settings.GPSInt)*60000);
super.handleMessage(msg);
break;}}};
Этот код работает хорошо и с OnPause() и принимать GPS-координаты в интервале как запрос пользователя.
Моя проблема в том, что если я вернусь из onPause() в UI (onResume()), программа начнет возвращать GPS-координаты, поэтому, пожалуйста, помогите мне.
Подсказка: Я искал в интернете об этом, я прочитал, что обработчик запуска в потоке пользовательского интерфейса, и я думаю, что это является причиной моей проблемы, но я не знаю Решения
Примечания: Пожалуйста, не предлагайте решение об изменении updaterequest в getLocation(), мне нужно решение о обработчике
В какой метод вы написали это 'Handler' код ?? – Naddy
Код обработчика написан в том же классе – Moussawi