我在两部手机之间通过蓝牙传输一些数据,我有一个同步部分,在完成同步之后,我想更改手机之间的数据。
public void syncPhone1(){ // Phone1 function
send("mes");
if(readData.equal("mes:ok")){
flag = true;
}
}
public void syncPhone2(){ // Phone2 function
if(readData.equal("mes")){
send("mes");
flag = true;
}
}
此函数在runnable Handler
函数中以100ms的延迟被调用
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
if (sync == false) {
syncPhone1();
// syncPhone2();
sync =true;
}
if (flag == true) {
changeDataPhone1();
//changeDataPhone2();
}
handler.postDelayed(this, 100);
}
};
handler.postDelayed(runnable, 100);
flag = true
同步完成后,我开始收发一些数据
在某些情况下,仅为Phone2设置flag
true
,然后Phone 2将开始传输数据。对于Phone1 flag
未设置true
,并且phone1将不会开始传输数据。
您有解决这个问题的想法吗?