Now the Internet of things to engage in a vigorous, millet bracelet and other series of products, below we will study the millet hand ring of the step function
Tool class
Packagecom.zsl.bluetoothdemo.ble;ImportAndroid.bluetooth.BluetoothAdapter;ImportAndroid.bluetooth.BluetoothDevice;ImportAndroid.bluetooth.BluetoothGatt;ImportAndroid.bluetooth.BluetoothGattCallback;ImportAndroid.bluetooth.BluetoothManager;ImportAndroid.content.Context;ImportAndroid.content.Intent;ImportAndroid.os.Handler;ImportJava.util.ArrayList;ImportJava.util.List;/** * Bluetooth Tool class * Created by ZSL on 15/5/25. * * Public class Universalbluetoothle { //universalbluetoothle Public StaticUniversalbluetoothle Universalbluetoothle;PrivateContext context;//bluetoothadapter PrivateBluetoothadapter Mbluetoothadapter;//bluetoothmanager PrivateBluetoothmanager Bluetoothmanager;//Turn on the Bluetooth request code Public Static Final intRequest_enable_bluetooth =10010;//Whether the Bluetooth device is being scanned Private Booleanmscanning;//Set scan duration Private Static Final LongScan_period =10000;//Return of Bluetooth scanBluetoothadapter.lescancallback Lescancallback;//Bluetooth set other listList<bluetoothdevice> bluetoothdevicelist =NewArraylist<bluetoothdevice> (); Handler Mhandler =NewHandler (); Lescanlistenter Lescanlistenter;Private Universalbluetoothle(Context context) { This. Context = Context;//Get Bluetoothmanager This. Bluetoothmanager = (Bluetoothmanager) context.getsystemservice (Context.bluetooth_service);//Get Bluetoothadapter This. Mbluetoothadapter = Bluetoothmanager.getadapter ();//callback for Bluetooth searchLescancallback =NewBluetoothadapter.lescancallback () {@Override Public void Onlescan(Bluetoothdevice device,intRssibyte[] scanrecord) {bluetoothdevicelist.add (device);//Return to all listsLescanlistenter.lescancallback (bluetoothdevicelist); } }; }/** * Get to Universalbluetoothle Object * * @param context * @return */ Public StaticUniversalbluetoothleinistance(Context context) {if(Universalbluetoothle = =NULL) {Universalbluetoothle =NewUniversalbluetoothle (context); }returnUniversalbluetoothle; }/** * Check that Bluetooth is turned on and start the Bluetooth method */ Public void Openbbletooth() {//Determine if Bluetooth is turned on if(Mbluetoothadapter = =NULL|| !mbluetoothadapter.isenabled ()) {//Turn on BluetoothIntent enableintent =NewIntent (bluetoothadapter.action_request_enable); Context.startactivity (enableintent); } }/** * Start (true) or end (FALSE) Bluetooth scan * * @param Enable */ Private void Scanledevice(Final BooleanEnable) {if(Enable && mscanning = =false) {mhandler.postdelayed (NewRunnable () {@Override Public void Run() {mscanning =false; Mbluetoothadapter.stoplescan (Lescancallback); }}, Scan_period); Mscanning =true; Mbluetoothadapter.startlescan (Lescancallback); }Else{mscanning =false; Mbluetoothadapter.stoplescan (Lescancallback); } }/** * Start searching for Bluetooth devices * * @param lescanlistenter search for Bluetooth device callbacks (return to Device list) */ Public void Startscanledevice(FinalLescanlistenter lescanlistenter) {bluetoothdevicelist.clear (); This. Lescanlistenter=lescanlistenter; Scanledevice (true); }/** * Stop searching for devices * / Public void Stopscanledevice() {if(Lescancallback = =NULL)return; Scanledevice (false); }/** * Search for Bluetooth callbacks */ Public interface lescanlistenter { voidLescancallback (list<bluetoothdevice> bluetoothdevicelist); }/** * Get Bluetoothgatt * @param Device devices * @param AutoConnect is automatically linked * @param Bluetoothgattcallback Callback * / PublicBluetoothgattGetconnectgatt(Bluetoothdevice device,BooleanAutoconnect,bluetoothgattcallback bluetoothgattcallback) {returnDevice.connectgatt (context, AutoConnect, bluetoothgattcallback); }}
Initialization
//在onCreate中//初始化UniversalBluetoothLEuniversalBluetoothLE = UniversalBluetoothLE.inistance(MainActivity.this);
Detects if Bluetooth is turned on and asks the system to turn on Bluetooth
//检测是否打开蓝牙并且请求系统打开蓝牙universalBluetoothLE.openBbletooth();
Linked devices
mBluetoothGatt=universalBluetoothLE.getConnectGatt(device,true,mGattCallback);mBluetoothGatt.connect();
Finally, a Gattcallback callback is implemented to fix
Take a look at step function, perfect to get oh, there are millet bracelet can test Oh, the third is my millet bracelet.
Test APK | Click to download
Bithub | Welcome to Star
Android Bluetooth Low power (BLE) very good tool class, get the number of steps of bracelet