我需要有关android后台任务和计划的帮助。
我想通过切换带有onClick事件的标志来执行和销毁定期的后台任务。后台任务应每秒读取 BLE RSSI 并进行烤面包。
阅读并显示RSSI没问题。
如果有人可以举一个例子说明这一点,那将非常有帮助。
答案 0 :(得分:0)
您可以使用Handler运行定期任务:
private val handler = Handler()
private val rssiTask: Runnable = object : Runnable {
override fun run() {
readRssi()
handler.postDelayed(this, period)
}
}
private val period = TimeUnit.SECONDS.toMillis(1)
fun start() {
handler.postDelayed(rssiTask, period)
}
fun stop() {
handler.removeCallbacks(rssiTask)
}
或使用Java:
private Handler handler = new Handler();
private Runnable rssiTask = new Runnable {
public void run() {
readRssi();
handler.postDelayed(this, period);
}
};
private long period = TimeUnit.SECONDS.toMillis(1);
public void start() {
handler.postDelayed(rssiTask, period);
}
public void stop() {
handler.removeCallbacks(rssiTask);
}