Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("蓝牙连接中......");
Dialog dlg = builder.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
MainActivity.this.mySock.connect();
Toast.makeText( MainActivity.this,"打开成功",Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText( MainActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
}
MainActivity.this.isConnect = true; }
}).start();
while(true){
if(isConnect){
isConnect = false;
dlg.dismiss();
break;
}
}
代码如上, 连接蓝牙的时候没看到弹出框!Android蓝牙线程

解决方案 »

  1.   

    这代码写的好乱
    Dialog dlg = new AlertDialog.Builder(MainActivity.this).setTitle("....").create();
    dlg.show();
    多线程是这样写的
                new Thread() {
                    public void run() {
                       ...
                    }
                }.start();
      

  2.   


    Dialog dlg = new AlertDialog.Builder(MainActivity.this).setTitle("蓝牙连接......").create();
    dlg.show();
    new Thread(){
    public void run() {
    try {
    MainActivity.this.mySock.connect();
    Toast.makeText( MainActivity.this,"打开成功",Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
    Toast.makeText( MainActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
    }
    MainActivity.this.isConnect = true; }
    }.start();
    while(true){
    if(isConnect){
    isConnect = false;
    dlg.dismiss();
    break;
    }
    }
    我这样改了一下, 还是不行, 弹出框也没有显示, 多线程也没起到作用,连接的时候主线程也没反应了!