我是在低功耗蓝牙4.0的官方demo的基础上改的,把DeviceControlActivity.java,BluetoothLeService.java,DeviceScanActivity.java这三个函数中的主要部分的代码移到了我的函数中,在我的函数中,在搜索的蓝牙列表中,点击列表中搜索到的设备,进行蓝牙的连接,贴出代码如下:
我是在按钮的点击事件里面添加的连接蓝牙4.0设备的逻辑
btn_connect.setOnClickListener(new View,OnClickListener(){
@Override
public void onClick(View v){
runOnUiThread(new Runnable(){
@Override
public void run(){
final BluetoothDevice bDevice = mBluetoothAdapter.getRemoteDevice(DeviceAddress);//DeviceAddress是我用Intent从蓝牙设置界面将数据传过来的,程序就是在这里报空指针
mBluetoothGatt = bDevice.connectGatt(LeDeviceConnect.this,false,mGattCallback);
/**
* 接下来的代码我还没写,想实现的功能是蓝牙连接上之后,在界面会有提示,就是将连接状态中的“未连接”变成“已连接”,但是程序在前面那句就抛出异常了,自己不知道怎么去解决了,实在是笨呢
*/
}
});
}
}
);
我也不知道把官方demo改的不成样子之后,这样对于开发是不是好的,将三个函数中的,扫描设备,显示设备,连接设备,以及传输数据的函数都移到了蓝牙设置函数中,这样合适吗?希望有开发过的大神们指点迷津啊~