Android蓝牙4.0开发_蓝牙开发实例源码下载
程序员文章站
2022-03-01 12:53:14
...
分享一个集成目前主流蓝牙的demo、android蓝牙4.0开发、项目中使用到了搜索BLE终端和读写BLE终端、另外还有在程序里面开房蓝牙、在Demo里面还处理了收到BLE终端数据交互的事件、代码里都有中文注释、要读性应该非常好的、应该会对开发有一定帮助、有兴趣的哥们可以下载看看
onCreate代码
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setTitle(R.string.title_devices); mHandler = new Handler(); // Use this check to determine whether BLE is supported on the device. Then you can // selectively disable BLE-related features. if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show(); finish(); } // Initializes a Bluetooth adapter. For API level 18 and above, get a reference to // BluetoothAdapter through BluetoothManager. final BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = bluetoothManager.getAdapter(); // Checks if Bluetooth is supported on the device. if (mBluetoothAdapter == null) { Toast.makeText(this, R.string.error_bluetooth_not_supported, Toast.LENGTH_SHORT).show(); finish(); return; } //开启蓝牙 mBluetoothAdapter.enable(); mBLE = new BluetoothLeClass(this); if (!mBLE.initialize()) { Log.e(TAG, "Unable to initialize Bluetooth"); finish(); } //发现BLE终端的Service时回调 mBLE.setOnServiceDiscoverListener(mOnServiceDiscover); //收到BLE终端数据交互的事件 mBLE.setOnDataAvailableListener(mOnDataAvailable); }
收到BLE终端数据交互的事件
/** * 收到BLE终端数据交互的事件 */ private BluetoothLeClass.OnDataAvailableListener mOnDataAvailable = new OnDataAvailableListener(){ /** * BLE终端数据被读的事件 */ @Override public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { if (status == BluetoothGatt.GATT_SUCCESS) Log.e(TAG,"onCharRead " gatt.getDevice().getName() " read " characteristic.getUuid().toString() " -> " Utils.bytesToHexString(characteristic.getValue())); } /** * 收到BLE终端写入数据回调 */ @Override public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) { Log.e(TAG,"onCharWrite " gatt.getDevice().getName() " write " characteristic.getUuid().toString() " -> " new String(characteristic.getValue())); } };
最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1dDk9onZ 密码: 91qn
推荐阅读
-
小程序蓝牙开发会不会取代Android端或者iOS端蓝牙开发?
-
Android编程开发实现多线程断点续传下载器实例
-
Android编程开发实现多线程断点续传下载器实例
-
Android蓝牙开发深入解析
-
Android开发实现高仿优酷的客户端图片左右滑动切换功能实例【附源码下载】
-
Android开发中总结的Adapter工具类【附完整源码下载】
-
Android开发实现实时检测蓝牙连接状态的方法【附源码下载】
-
Android开发实现可拖动排序的ListView功能【附源码下载】
-
Android开发之自定义view实现通讯录列表A~Z字母提示效果【附demo源码下载】
-
Android开发之HttpClient异步请求数据的方法详解【附demo源码下载】