#android #bluetooth #android-bluetooth
#Android #bluetooth #android-bluetooth
Вопрос:
Я хочу искать устройство Bluetooth каждые три секунды. итак, я использовал таймер, подобный этому.
public void SearchingDevice() {
m_BTAdapter.startDiscovery();
m_timer = new Timer(true);
TimerTask timerTask = new TimerTask() {
public void run() {
m_BTAdapter.cancelDiscovery();
m_BTAdapter.startDiscovery();
}
};
m_timer.schedule(timerTask, 3000, 3000);
}
Кстати, «android.bluetooth.adapter.action.Сообщение «DISCOVERY_FINISHED»
всегда печатается дважды ….. почему это сообщение напечатано дважды??
Я использовал cancelDiscovery () только один раз…
пожалуйста, кто-нибудь, помогите мне ..!!
Спасибо.
Ответ №1:
Вы должны быть осторожны с задачей таймера. Возможно, проблема в том, что вы не отменяете задачу с помощью ActivityLifecycle и каждый раз создаете новую. попробуйте:
@Override
protected void onPause() {
super.onPause();
m_timer.cancel();
}
можете ли вы вставить фрагмент кода, где вы вызываете метод SearchingDevice()?
Комментарии:
1. Спасибо за ваш ответ. 🙂
2. но.. я не могу вставить фрагмент кода .. Произошла ошибка