一直在研究Android蓝牙4.0的app,现在已经借到设备了,设备的低功耗蓝牙4.0能够连接上,但是手机Android的app连接设备之后就没了反应,我也不知道有没有在接收数据,我是在蓝牙设置界面进行的一系列修改。下面是重要的代码:
蓝牙设置界面是个fragment,即BtSetFragment.java 在网上查到的是在GattCallback 中的onCharacteristicChanged用来接收数据,
private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback(){
@Override
public void onConnectionStateChange(BluetoothGatt gatt,int status,int newState){
String intentAction;
if(newState == BluetoothProfile.STATE_CONNECTED){
intentionAction = ACTION_GATT_CONNECTED;
broadcastUpdate(intentAction);
Log.i(TAG,"Connected to GATT Server");
Log.i(TAG,"Attemping to start service discovery:" + mBLuetoothGatt.diacoverServices());
}else if(newState == BluetoothProfile.STATE_DISCONNECTED){
intentAction = ACTION_GATT_DISCONNECTION;
Log.i(TAG,"Disconnected from GATT server.");
broadcastUpdate(intentAction);
}
}
@Override
public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic){
Log.d(TAG,"onCharacteristicChanged ,接收数据");
broadcastUpdate(ACTION_DATA_AVAILABLE,characteristic);
}
};
在网上下载的蓝牙4.0的demo中的函数DeviceScanActivity.java , DeviceControlActivity.java , BluetoothLeService.java这三个函数中的主要的函数都移到了BtSetFragment.java中,不知道怎么去接收并显示接到的蓝牙设备上的数据,求各个大神