Android Bluetooth Low-Power (BLE) is a great tool to get the steps of bracelet, androidble
Now the Internet of Things is booming, and wristband and other products, next we will study the progress Logging Function of wristband.
Tool
Package com. zsl. bluetoothdemo. ble; import android. bluetooth. export thadapter; import android. bluetooth. export thdevice; import android. bluetooth. export thgatt; import android. bluetooth. export thgattcallback; import android. bluetooth. bluetoothManager; import android. content. context; import android. content. intent; import android. OS. handler; import java. util. arrayList; import java. util. list;/*** Bluetooth tool class * Creat Ed by zsl on 15/5/25. */public class UniversalBluetoothLE {// UniversalBluetoothLE public static UniversalBluetoothLE universalBluetoothLE; private Context context; // define thadapter private volume thadapter mBluetoothAdapter; // define thmanager private volume thmanager; // open the Bluetooth Request Code public static final int REQUEST_ENABLE_BLUETOOTH = 10010; // whether the bluetooth device private boolean mScanning is being scanned ;/ /Set the scan duration private static final long SCAN_PERIOD = 10000; // The Bluetooth scan returns BluetoothAdapter. leScanCallback leScanCallback; // set the Bluetooth list to <symbol thdevice> symbol thdevicelist = new ArrayList <symbol thdevice> (); Handler mHandler = new Handler (); LeScanListenter leScanListenter; private Context (context Context) {this. context = context; // get thmanager this. descrithmanager = (descrithman Ager) context. getSystemService (Context. export th_service); // obtain export thadapter this. mblustmthadapter = effecthmanager. getAdapter (); // callback leScanCallback = new javasthadapter for Bluetooth search. leScanCallback () {@ Override public void onLeScan (descrithdevice device, int Arg, byte [] scanRecord) {descrithdevicelist. add (device); // return to all the list leScanListenter. leScanCallBack (bluetoothDeviceList) ;};}/ *** get UniversalBluetoothLE object ** @ param context * @ return */public static universalw.thle inistance (Context context) {if (universal=thle = null) {universal=thle = new universal=thle (context );} return universalstmthle;}/*** how to check whether Bluetooth is enabled and enable Bluetooth */public void openBbletooth () {// determine whether to enable if (mblustmthadapter = null |! Mblustmthadapter. isEnabled () {// enable Bluetooth Intent enableIntent = new Intent (effecthadapter. ACTION_REQUEST_ENABLE); context. startActivity (enableIntent) ;}}/*** start (true) or end (false) Bluetooth scan ** @ param enable */private void scanLeDevice (final boolean enable) {if (enable & mScanning = false) {mHandler. postDelayed (new Runnable () {@ Override public void run () {mScanning = false; mbluw.thadapter. stopLeScan (leScanCallback) ;}}, SCAN_PERIOD); mScanning = true; mbluw.thadapter. startLeScan (leScanCallback);} else {mScanning = false; mbluw.thadapter. stopLeScan (leScanCallback) ;}}/*** start searching for Bluetooth devices ** @ param leScanListenter search for Bluetooth device callbacks (back to device list) */public void startScanLeDevice (final LeScanListenter leScanListenter) {descrithdevicelist. clear (); this. leScanListenter = leScanListenter; scanLeDevice (true);}/*** stop searching device */public void stopScanLeDevice () {if (leScanCallback = null) return; scanLeDevice (false );} /*** search for Bluetooth callback */public interface LeScanListenter {void leScanCallBack (List <symbol thdevice> symbol thdevicelist );} /*** obtain whether thgatt * @ param device * @ param autoConnect automatically links * @ param gatethgattcallback callback */public descrithgatt getConnectGatt (descrithdevice device, boolean autoConnect, descrithgattcallback) {return device. connectGatt (context, autoConnect, bluetoothGattCallback );}}
Initialization
// In onCreate // initialize universalw.thleuniversal=thle = universal=thle. inistance (MainActivity. this );
Checks whether Bluetooth is enabled and requests the system to enable Bluetooth.
// Check whether Bluetooth is enabled and request the system to enable Bluetooth universalstmthle. openBbletooth ();
Connected Device
mBluetoothGatt=universalBluetoothLE.getConnectGatt(device,true,mGattCallback);mBluetoothGatt.connect();
Finally, implement a GattCallback callback.
Let's take a look at step-by-step function. You can test the bracelet. The third is my bracelet.
Test apk | click to download
Bithub | welcome to Star