我需要一些帮助。我必须不断检查byte[]
通过蓝牙收到的。为此,我正在实现一个 Runnable,问题是它不返回byte[]
.
为此,我尝试实现 Callable 而不是 Runnable,因为这让我可以返回一个值。但是使用 Callable 我无法每 0.5 秒检查一次变量。
那么,更新变量并在需要时获得它的值的最佳方法是什么?
这是Runnable
我所做的:
private final Handler refresh_handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Runnable refresh_input = new Runnable() {
@Override
public void run() {
bt_read_input = GlobalVar.bt_input; //Save received value in a local variable
refresh_handler.postDelayed(refresh_input, 500);
}
};
refresh_handler.post(refresh_input); //Call to the function