代码拉取完成,页面将自动刷新
git clone yunlinBleLockLib(url)
implementation project(':yunlinBleLockLib')
或者
compile project(':yunlinBleLockLib')
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
//请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
REQUEST_BLUTOOTH_CODE);
//判断是否需要 向用户解释,为什么要申请该权限
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.READ_CONTACTS)) {
Toast.makeText(this, "shouldShowRequestPermissionRationale", Toast.LENGTH_SHORT).show();
}
return;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[]
grantResults){
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case REQUEST_BLUTOOTH_CODE:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//用户同意授权
setScaningStatuAndexecuteScan();
}else {
//用户拒绝授权
}
break;
}
}
bleController=new BleController(MainActivity.this, new IBteScanConnectListner(){
@Override
public void onScanResult(final List<BleDevice> scanedDevices){
//扫描结果 (放入list 通知页面 数据)
}
@Override
public void onReiceveBleDeviceDat(OpenLockStatus openLockStatus){
//开锁结果页面 封装 开锁成功、失败、耗时
}
@Override
public void onBleConnect(){
//锁 连接上 回调
}
@Override
public void onBleBusy(){
//锁 忙碌回调
}
@Override
public void onOtheDeviceIsConnecting(){
//其他设备正在连接回调。不支持多个设备同时连接
}
//连接断开
@Override
public void onBleDisConnect(){
//锁 断开链接回调
}
@Override
public void needReScan(){
// 锁 忙碌、无响应、重新扫描回调
}
});
bleController.init(); //执行Init
@Override
protected void onResume(){
super.onResume();
bleController.scanBteLockDevice();
}
说明: 扫描结果在 bleControler回调中,连接状态、开锁状态、获取设备状态都在,请在bleController中拿到蓝牙锁扫描结果。
bleController.connectDevice(bleDevices.get(position), false);
@Override
protected void onDestroy(){
super.onDestroy();
bleController.releaseConnect(false);
}
操作锁的模式,即点击item执行的操作动作
FUNCTION_OPEN_LOCK //开锁
FUNCTION_READ_BATTERY_INFO //获取锁电量、音量、电压
FUNCTION_VERIFY_ADMIN=11;//认证锁设备
BleController.FUNCTION_OPEN_LOCK
bleController.setCurrentFunctionMode(BleController.FUNCTION_VERIFY_ADMIN);
bleController.setCurrentFunctionMode(BleController.FUNCTION_OPEN_LOCK);
需要注册接收事件。(读取到 电压、电量、音量信息) ReadDeviceInfoEvent 封装了 电压、电量、信息。
@Subscribe
public void onEventMainThread(ReadDeviceInfoEvent readDeviceInfoEvent){
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。