解决方案 »

  1.   

    CC2540 与 Android 的自带的 蓝牙可以连接吗一般情况下 Android 与 单片机 设备连接 UUID 是 “00001101-0000-1000-8000-00805F9B34FB”蓝牙连接 要先进行扫描 获取扫描结果之后在进行配对 连接, 连接之后 通信 你再哪一步 卡住了,  配对成功了吗, 之后的连接情况怎么样 
      

  2.   

    //连接线程
    class ConnectThread extends Thread{
    @Override
    public void run() {
    // TODO Auto-generated method stub
    super.run();
    mybluetooth.cancelDiscovery();
    //连接socket
                try{
                  socket.connect();
                  connectstate=true;
                  Looper.prepare();
                 Toast.makeText(MainActivity.this, "连接"+tagetbluetooth.getName()+"成功!", Toast.LENGTH_SHORT).show();
                 Looper.loop();
                }catch(IOException e){
                 try{
                 socket.close();
                 socket = null;
                 connectstate=false;
                 Looper.prepare();
                 Toast.makeText(MainActivity.this, "连接失败1!", Toast.LENGTH_SHORT).show();
                 Looper.loop();
                 }catch(IOException ee){
                 connectstate=false;
                 Looper.prepare();
                 Toast.makeText(MainActivity.this, "连接失败2!", Toast.LENGTH_SHORT).show();
                 Looper.loop();
                 }
                 return;
                }
    }
    public ConnectThread(){
    try{
    socket = tagetbluetooth.createRfcommSocketToServiceRecord(UUID.fromString(MY_UUID));
                 }catch(IOException e){
                 connectstate=false;
                 Looper.prepare();
                  Toast.makeText(MainActivity.this, "连接失败0!", Toast.LENGTH_SHORT).show();
                  Looper.loop();
                 }
    }
    }
    我的连接线程如上,每次都提示"连接失败1!",能扫描到,但是连接不上。
      

  3.   


    //连接线程
    class ConnectThread extends Thread{
    @Override
    public void run() {
    // TODO Auto-generated method stub
    super.run();
    mybluetooth.cancelDiscovery();
    //连接socket
                try{
                  socket.connect();
                  connectstate=true;
                  Looper.prepare();
                 Toast.makeText(MainActivity.this, "连接"+tagetbluetooth.getName()+"成功!", Toast.LENGTH_SHORT).show();
                 Looper.loop();
                }catch(IOException e){
                 try{
                  socket.close();
                  socket = null;
                  connectstate=false;
                  Looper.prepare();
                  Toast.makeText(MainActivity.this, "连接失败1!", Toast.LENGTH_SHORT).show();
                  Looper.loop();
                 }catch(IOException ee){
                  connectstate=false;
                  Looper.prepare();
                  Toast.makeText(MainActivity.this, "连接失败2!", Toast.LENGTH_SHORT).show();
                  Looper.loop();
                 }
                 return;
                }
    }
    public ConnectThread(){
    try{
    socket = tagetbluetooth.createRfcommSocketToServiceRecord(UUID.fromString(MY_UUID));
                 }catch(IOException e){
                 connectstate=false;
                 Looper.prepare();
                  Toast.makeText(MainActivity.this, "连接失败0!", Toast.LENGTH_SHORT).show();
                  Looper.loop();
                 }
    }
    }
    我的连接线程如上,每次都提示"连接失败1!",能扫描到,但是连接不上。
      

  4.   

    用 Android 自带的 蓝牙 连接下 试试 , 配上对 在执行你上面的代码 看看什么情况 
      

  5.   

    这个方法我也试过了,还是一样的效果,提示“连接失败1”,对了,你说一般情况下 Android 与 单片机 设备连接 UUID 是 “00001101-0000-1000-8000-00805F9B34FB”,那么Android手机与Android手机呢?还有Android系统自带的蓝牙软件,不管是单片机还是其他蓝牙设备,都是可以连接上,是怎么做到的?
    最近被这个问题卡住好久,好纠结= =
      

  6.   

    这个方法我也试过了,还是一样的效果,提示“连接失败1”,对了,你说一般情况下 Android 与 单片机 设备连接 UUID 是 “00001101-0000-1000-8000-00805F9B34FB”,那么Android手机与Android手机呢?还有Android系统自带的蓝牙软件,不管是单片机还是其他蓝牙设备,都是可以连接上,是怎么做到的?
    最近被这个问题卡住好久,好纠结= =你必须搞清楚对方的UUID是什么,cc2540的UUID,你需要去查CC2540的开发手册,不同的设备有可能带有同样的UUID的服务,一般是通用的,比如SPP的UUID,也可能带有自定义UUID的服务。
      

  7.   

    去网上搜下BLE的profile相关的东西,那里面有UUID说明
      

  8.   

    CC2540是BLE的?那就完全不能用传统蓝牙的app呀,参考android sample里的BluetoothLeGatt 应用进行开发!