function ConnectEqu(mac_address){
var table = document.body.querySelector('#listFetus');
removeElement(table);
main = plus.android.runtimeMainActivity();
UUID = plus.android.importClass("java.util.UUID");
uuid = UUID.fromString(FETUS_UUID);
Context = plus.android.importClass("android.content.Context");
BManager = main.getSystemService(Context.BLUETOOTH_SERVICE);
plus.android.importClass(BManager); //引入相关的method函数
BAdapter = BManager.getAdapter();
plus.android.importClass(BAdapter);
device = BAdapter.getRemoteDevice(mac_address);
plus.android.importClass(device);
bluetoothSocket=null;
bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);
plus.android.importClass(bluetoothSocket);
if(!bluetoothSocket.isConnected()) {
bluetoothSocket.connect();
}
if(bluetoothSocket.isConnected()) {
isOpen=true;
var Thread = plus.android.importClass('java.lang.Thread');
var Runnable = plus.android.implements("java.lang.Runnable", {
"run":function( ){
// while(1)
// {
console.log( "Invoked Object’s wahaha: " );
ReadThread();
// Thread.sleep(1000);
// }
}
} );
// main.runOnUiThread(Runnable);
var thd = new Thread(Runnable) ;
thd.start();
}
}
function ReadThread(){
var inputStream = bluetoothSocket.getInputStream();
plus.android.importClass(inputStream);
var msg =null;
try{
while(isOpen){
var msg=inputStream.read();
// console.log("800");
parseData(msg);
//时间判断 begin
if(CheckEnd()==true){
isOpen=false;
bluetoothSocket.close();
setFetusList();
showFetusList();
};
}
//地址:http://ask.dcloud.net.cn/question/60
}catch(err){
console.log("异常"+err);
bluetoothSocket.close();
}
}
1 个回复
y***@126.com (作者) - 技术交流
目前中这种方法总是阻塞线程,还有别的办法可以开启多线程吗?