This commit is contained in:
jia 2024-12-10 00:54:52 +08:00
parent 4b32355941
commit b6fa55f36a
10 changed files with 439 additions and 516 deletions

View File

@ -174,7 +174,7 @@ dependencies {
implementation 'com.tencent:mmkv:2.0.0' implementation 'com.tencent:mmkv:2.0.0'
implementation("com.github.bumptech.glide:okhttp3-integration:4.11.0" ) implementation("com.github.bumptech.glide:okhttp3-integration:4.11.0" )
implementation 'com.github.Jasonchenlijian:FastBle:2.4.0' // implementation 'com.github.Jasonchenlijian:FastBle:2.4.0'
// //
// annotationProcessor 'com.github.bumptech.glide:compiler:3.7.0' // annotationProcessor 'com.github.bumptech.glide:compiler:3.7.0'
// implementation 'com.getui:gtsdk:3.3.7.0' //SDK // implementation 'com.getui:gtsdk:3.3.7.0' //SDK

View File

@ -18,7 +18,7 @@
android:normalScreens="true" android:normalScreens="true"
android:smallScreens="true" android:smallScreens="true"
android:xlargeScreens="true" /> android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- // jiablue--> <!-- // jiablue-->
@ -29,61 +29,21 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 访问网络 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- zxing -->
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" /> <uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.VIBRATE" /> <!-- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> &lt;!&ndash; 【必选】用以设置前台是否显示通知 &ndash;&gt;-->
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- bugly -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 必选 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- 【必选】用以设置前台是否显示通知 -->
<uses-permission android:name="android.permission.GET_TASKS" /> <!-- 可选 -->
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
<permission <permission
android:name="com.ifish.activity.permission.JPUSH_MESSAGE" android:name="com.ifish.activity.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" /> <!-- Required 一些系统要求的权限,如访问网络等 --> android:protectionLevel="signature" /> <!-- Required 一些系统要求的权限,如访问网络等 -->
<uses-permission android:name="com.ifish.activity.permission.JPUSH_MESSAGE" /> <uses-permission android:name="com.ifish.activity.permission.JPUSH_MESSAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <!-- <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />-->
<uses-permission android:name="android.permission.INTERNET" /> <!-- <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />-->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- talkingdata统计 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 友盟 -->
<!-- 蓝牙权限需求 --> <!-- 蓝牙权限需求 -->
@ -102,23 +62,9 @@
android:required="true" /> android:required="true" />
--> -->
<!-- 检测网络状态 --> <!-- 检测网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取mac地址作为用户的备用唯一标识 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取用户手机的IMEI用来唯一的标识用户 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 定位所需的权限 -->
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> -->
<!-- 推送相关的权限 --> <!-- 推送相关的权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" /> <!-- 下载apk -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> <!-- Bugtags SDK --> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> <!-- Bugtags SDK -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- android13变更 -->
<!-- 缓存资源优先存入SDcard --> <!-- 缓存资源优先存入SDcard -->
<uses-permission <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:name="android.permission.WRITE_EXTERNAL_STORAGE"
@ -135,48 +81,8 @@
<uses-permission <uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore="ProtectedPermissions" /> <!-- <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" /> --> tools:ignore="ProtectedPermissions" /> <!-- <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" /> -->
<!-- ###################声明友盟分享SDK使用的相关权限###################### -->
<!-- 检测网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取mac地址作为用户的备用唯一标识 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- ###################声明友盟分享SDK使用的相关权限###################### -->
<!-- 网易云信 -->
<!-- 权限声明 -->
<!-- 访问网络状态 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" /> <!-- 多媒体相关 -->
<uses-permission android:name="android.permission.CAMERA" /> <!-- SDK 权限申明, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
<!-- 和下面的 uses-permission 一起加入到你的 AndroidManifest 文件中。 -->
<permission
android:name="com.ifish.activity.permission.RECEIVE_MSG"
android:protectionLevel="signature" /> <!-- 接收 SDK 消息广播权限, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
<uses-permission android:name="com.ifish.activity.permission.RECEIVE_MSG" /> <!-- 网易云信 -->
<!-- 友盟微社区精简版 -->
<!-- ###################声明SDK使用的相关权限###################### -->
<!-- 检测网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取mac地址作为用户的备用唯一标识 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 推送相关的权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- 可选 -->
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <!-- 允许task重排序 --> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <!-- 允许task重排序 -->
<uses-permission android:name="android.permission.REORDER_TASKS" /> <!-- Android 13上新增的通知权限 --> <!-- Android 13上新增的通知权限 -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <!-- 友盟微社区精简版 --> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <!-- 友盟微社区精简版 -->
<queries> <queries>
<package android:name="com.tencent.mm" /> <package android:name="com.tencent.mm" />
@ -243,14 +149,14 @@
android:resource="@xml/filepaths" /> android:resource="@xml/filepaths" />
</provider> </provider>
<receiver <!-- <receiver-->
android:name="com.ifish.airkiss.UDPReceiver" <!-- android:name="com.ifish.airkiss.UDPReceiver"-->
android:exported="true" <!-- android:exported="true"-->
tools:ignore="Instantiatable"> <!-- tools:ignore="Instantiatable">-->
<intent-filter> <!-- <intent-filter>-->
<action android:name="android.intent.action.BOOT_COMPLETED" /> <!-- <action android:name="android.intent.action.BOOT_COMPLETED" />-->
</intent-filter> <!-- </intent-filter>-->
</receiver> <!-- </receiver>-->
<activity <activity
android:name=".LoadingActivity" android:name=".LoadingActivity"

View File

@ -24,8 +24,8 @@ import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemClickListener;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
//jjia-push
import com.clj.fastble.BleManager; //import com.clj.fastble.BleManager;
import com.ifish.adapter.GridViewCameraBaseAdapter; import com.ifish.adapter.GridViewCameraBaseAdapter;
import com.ifish.adapter.GridViewDeviceBaseAdapter; import com.ifish.adapter.GridViewDeviceBaseAdapter;
import com.ifish.basebean.BaseBean; import com.ifish.basebean.BaseBean;
@ -370,7 +370,8 @@ public class DeviceCameraListActivity extends BaseActivity {
@Override @Override
public void success(BaseBean<Device> baseBean) { public void success(BaseBean<Device> baseBean) {
result = baseBean.result; result = baseBean.result;
BleManager.getInstance().disconnectAllDevice(); //jjia-push
// BleManager.getInstance().disconnectAllDevice();
} }
@Override @Override

View File

@ -21,7 +21,7 @@ import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.jwkj.soundwave.SoundWaveManager; import com.jwkj.soundwave.SoundWaveManager;
import com.ifish.airkiss.AirKissEncoder; import com.ifish.airkiss.AirKissEncoder;
import com.ifish.airkiss.UDPReceiver; //import com.ifish.airkiss.UDPReceiver;
import com.ifish.airkiss.UdpCallback; import com.ifish.airkiss.UdpCallback;
import com.ifish.basebean.BaseBean; import com.ifish.basebean.BaseBean;
import com.ifish.basebean.ConnectMessageEvent; import com.ifish.basebean.ConnectMessageEvent;
@ -83,7 +83,8 @@ public class NewBindDeviceChoiceActivity extends BaseActivity implements View.On
private int deviceIsNullNum = 0;//循环请求次数 private int deviceIsNullNum = 0;//循环请求次数
private CountDownTimer deviceIsNullTimer; private CountDownTimer deviceIsNullTimer;
// private DatagramSocket sendSocket = null; // private DatagramSocket sendSocket = null;
private UDPReceiver udpReceiver = null; //jjia-udp
// private UDPReceiver udpReceiver = null;
private boolean isRegFilter; private boolean isRegFilter;
private byte mAuthMode; private byte mAuthMode;
private byte AuthModeOpen = 0; private byte AuthModeOpen = 0;

View File

@ -12,7 +12,6 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.ifish.activity.LoadingActivity; import com.ifish.activity.LoadingActivity;
import com.ifish.airkiss.AirKissEncoder; import com.ifish.airkiss.AirKissEncoder;
import com.ifish.airkiss.UDPReceiver;
import com.ifish.basebean.BaseBean; import com.ifish.basebean.BaseBean;
import com.ifish.basebean.Device; import com.ifish.basebean.Device;
import com.ifish.baseclass.BaseGradeActivity; import com.ifish.baseclass.BaseGradeActivity;
@ -71,8 +70,8 @@ public class AirKissUtil {
//当前需要连接的是什么设备 //当前需要连接的是什么设备
private String devicetype; private String devicetype;
//jjia-udp
private UDPReceiver udpReceiver = null; // private UDPReceiver udpReceiver = null;
private DatagramSocket sendSocket = null; private DatagramSocket sendSocket = null;
ProgressDialog mDialog = null; ProgressDialog mDialog = null;
@ -432,9 +431,9 @@ public class AirKissUtil {
sendSocket.close(); sendSocket.close();
sendSocket.disconnect(); sendSocket.disconnect();
} }
if (udpReceiver != null) { // if (udpReceiver != null) {
udpReceiver.stopRunning(); // udpReceiver.stopRunning();
} // }
} }
public void unSubscribe() { public void unSubscribe() {

View File

@ -29,15 +29,15 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
//jjia-push
import com.clj.fastble.BleManager; //import com.clj.fastble.BleManager;
import com.clj.fastble.callback.BleGattCallback; //import com.clj.fastble.callback.BleGattCallback;
import com.clj.fastble.callback.BleMtuChangedCallback; //import com.clj.fastble.callback.BleMtuChangedCallback;
import com.clj.fastble.callback.BleNotifyCallback; //import com.clj.fastble.callback.BleNotifyCallback;
import com.clj.fastble.callback.BleScanCallback; //import com.clj.fastble.callback.BleScanCallback;
import com.clj.fastble.callback.BleWriteCallback; //import com.clj.fastble.callback.BleWriteCallback;
import com.clj.fastble.data.BleDevice; //import com.clj.fastble.data.BleDevice;
import com.clj.fastble.exception.BleException; //import com.clj.fastble.exception.BleException;
import com.ifish.activity.BindCameraActivity; import com.ifish.activity.BindCameraActivity;
import com.ifish.activity.BindTankActivity; import com.ifish.activity.BindTankActivity;
import com.ifish.activity.BindTankPetActivity; import com.ifish.activity.BindTankPetActivity;
@ -151,8 +151,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
devicetype = getIntent().getStringExtra("devicetype"); devicetype = getIntent().getStringExtra("devicetype");
L.i("jjia----------------devicetype="+devicetype); L.i("jjia----------------devicetype="+devicetype);
airKissUtil.init(this,devicetype); airKissUtil.init(this,devicetype);
//jjia-push
BleManager.getInstance().disconnectAllDevice(); // BleManager.getInstance().disconnectAllDevice();
if ("bluetooth".equals(type)){ if ("bluetooth".equals(type)){
curConnectType = BlueTooth; curConnectType = BlueTooth;
}else { }else {
@ -163,7 +163,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
switchUIConnectType(curConnectType); switchUIConnectType(curConnectType);
if ("bluetooth".equals(type)){ // 主动去联网 if ("bluetooth".equals(type)){ // 主动去联网
currentDevice = getIntent().getParcelableExtra("device"); //jjia-push
// currentDevice = getIntent().getParcelableExtra("device");
} }
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
@ -471,39 +472,40 @@ public class NewBindDeviceActivity extends AppCompatActivity {
boolean support = BleManager.getInstance().isSupportBle(); //jjia-push
if (!support){ // boolean support = BleManager.getInstance().isSupportBle();
ToastUtil.show(NewBindDeviceActivity.this,"当前设备不支持低功耗蓝牙"); // if (!support){
} else { // ToastUtil.show(NewBindDeviceActivity.this,"当前设备不支持低功耗蓝牙");
boolean enable = BleManager.getInstance().isBlueEnable(); // } else {
if (enable){ // boolean enable = BleManager.getInstance().isBlueEnable();
if (TextUtils.isEmpty(type)){ // if (enable){
blueScan(); // if (TextUtils.isEmpty(type)){
}else { // blueScan();
showDialog("开始连接蓝牙设备"); // }else {
connectBle(); // showDialog("开始连接蓝牙设备");
} // connectBle();
}else { // }
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this, AlertDialog.THEME_HOLO_LIGHT); // }else {
dialog.setCancelable(false); // AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this, AlertDialog.THEME_HOLO_LIGHT);
dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,再点击'确定'连接"); // dialog.setCancelable(false);
dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() { // dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,再点击'确定'连接");
@Override // dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() {
public void onClick( // @Override
DialogInterface dialog, // public void onClick(
int which) { // DialogInterface dialog,
BlueToothUtil.openBlueTooth(NewBindDeviceActivity.this); // int which) {
} // BlueToothUtil.openBlueTooth(NewBindDeviceActivity.this);
}); // }
dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() { // });
@Override // dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) { // @Override
finish(); // public void onClick(DialogInterface dialog, int which) {
} // finish();
}); // }
dialog.show(); // });
} // dialog.show();
} // }
// }
break; break;
case APConnect: case APConnect:
@ -518,43 +520,44 @@ public class NewBindDeviceActivity extends AppCompatActivity {
break; break;
} }
} }
//jjia-push
private void blueScan(){ // private void blueScan(){
BleManager.getInstance().scan(new BleScanCallback() { // BleManager.getInstance().scan(new BleScanCallback() {
@Override // @Override
public void onScanFinished(List<BleDevice> scanResultList) { // public void onScanFinished(List<BleDevice> scanResultList) {
//
if (currentDevice!=null){ // if (currentDevice!=null){
connectBle(); // connectBle();
}else { // }else {
ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备"); // ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备");
dismissDialog(); // dismissDialog();
} // }
} // }
//
@Override // @Override
public void onScanStarted(boolean success) { // public void onScanStarted(boolean success) {
// ToastUtil.show(NewBindDeviceActivity.this,"开始扫描"); //// ToastUtil.show(NewBindDeviceActivity.this,"开始扫描");
showDialog("正在搜索附近设备,请确保设备处于配网状态"); // showDialog("正在搜索附近设备,请确保设备处于配网状态");
} // }
//
@SuppressLint("MissingPermission") // @SuppressLint("MissingPermission")
@Override // @Override
public void onScanning(BleDevice bleDevice) { // public void onScanning(BleDevice bleDevice) {
if (bleDevice!=null && bleDevice.getDevice()!=null){ // if (bleDevice!=null && bleDevice.getDevice()!=null){
BluetoothDevice bean = bleDevice.getDevice(); // BluetoothDevice bean = bleDevice.getDevice();
if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){ // if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
currentDevice = bleDevice; // currentDevice = bleDevice;
// tvname.setText(bean.getName()+bean.getAddress()); //// tvname.setText(bean.getName()+bean.getAddress());
BleManager.getInstance().cancelScan(); // BleManager.getInstance().cancelScan();
} // }
L.i(bean.getName()+"jjia---------"+bean.getAddress()); // L.i(bean.getName()+"jjia---------"+bean.getAddress());
} // }
} // }
}); // });
} // }
private boolean isJump = false; private boolean isJump = false;
BleDevice currentDevice; //jjia-push
// BleDevice currentDevice;
/** /**
* 1.跳转设置页面连接ifish-xxx的wifi连接成功后返回 * 1.跳转设置页面连接ifish-xxx的wifi连接成功后返回
*/ */
@ -633,138 +636,142 @@ public class NewBindDeviceActivity extends AppCompatActivity {
} }
} }
} }
//jjia-push
private String device_mac; private String device_mac;
private void openNotify(){ // private void openNotify(){
BleManager.getInstance().notify(currentDevice, SERVICE_UUID, WRITE_UUID, new BleNotifyCallback() { // BleManager.getInstance().notify(currentDevice, SERVICE_UUID, WRITE_UUID, new BleNotifyCallback() {
@Override // @Override
public void onNotifySuccess() { // public void onNotifySuccess() {
sendBleData(); // sendBleData();
} // }
//
@Override // @Override
public void onNotifyFailure(BleException exception) { // public void onNotifyFailure(BleException exception) {
// dismissProgressDialogCancelble(); //// dismissProgressDialogCancelble();
dismissDialog(); // dismissDialog();
} // }
//
@Override // @Override
public void onCharacteristicChanged(byte[] data) { // public void onCharacteristicChanged(byte[] data) {
//
if (data!=null && data.length>0){ // if (data!=null && data.length>0){
int check_code = data[1]; // int check_code = data[1];
int length = data[14]; // int length = data[14];
byte[] dataByte = new byte[length]; // byte[] dataByte = new byte[length];
for (int i = 0; i < dataByte.length; i++) { // for (int i = 0; i < dataByte.length; i++) {
dataByte[i] = data[i]; // dataByte[i] = data[i];
} // }
//
Object object = ModelCodec.deCode(dataByte,Commons.IoBuffer); // Object object = ModelCodec.deCode(dataByte,Commons.IoBuffer);
if (object!=null && object instanceof BackFunctionCode7_11){ // if (object!=null && object instanceof BackFunctionCode7_11){
BackFunctionCode7_11 model = (BackFunctionCode7_11) object; // BackFunctionCode7_11 model = (BackFunctionCode7_11) object;
String status = ByteUtil.toHex(model.getStatus()); // String status = ByteUtil.toHex(model.getStatus());
device_mac = ByteUtil.bytesToHexString(model.getSrc()); // device_mac = ByteUtil.bytesToHexString(model.getSrc());
//
//
dismissDialog(); // dismissDialog();
if (!TextUtils.isEmpty(device_mac)){ // if (!TextUtils.isEmpty(device_mac)){
showDialog("正在绑定设备..."); // showDialog("正在绑定设备...");
connectDevice.cancel(); // connectDevice.cancel();
connectDevice.start(); // connectDevice.start();
} // }
// checkoutMac(device_mac); //// checkoutMac(device_mac);
} // }
L.i("jjia-------check_code-"+check_code); // L.i("jjia-------check_code-"+check_code);
L.i("jjia-------length-"+length); // L.i("jjia-------length-"+length);
L.i("jjia-------device_mac-"+device_mac); // L.i("jjia-------device_mac-"+device_mac);
} // }
} // }
}); // });
} // }
int devicePosition = 0; int devicePosition = 0;
private void sendBleData(){ //jjia-push
// private void sendBleData(){
String ssid = tvWifiName.getText().toString(); //
String pwd = tvWifiPwd.getText().toString(); // String ssid = tvWifiName.getText().toString();
// String pwd = tvWifiPwd.getText().toString();
OrderDeviceConnectModel model = OrderModel.OrderDeviceConnectModel(ssid, pwd,true);//设置正式环境域名 //
byte[] data = ModelCodec.enCode(model, Commons.IoBuffer); // OrderDeviceConnectModel model = OrderModel.OrderDeviceConnectModel(ssid, pwd,true);//设置正式环境域名
BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() { // byte[] data = ModelCodec.enCode(model, Commons.IoBuffer);
@Override // BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
public void onWriteSuccess(int current, int total, byte[] justWrite) { // @Override
// public void onWriteSuccess(int current, int total, byte[] justWrite) {
L.i("jjia-------------ssid 发送"); //
} // L.i("jjia-------------ssid 发送");
// }
@Override //
public void onWriteFailure(BleException exception) { // @Override
// public void onWriteFailure(BleException exception) {
} //
}); // }
} // });
private void toReset(){ // }
ResetDeviceModel model = OrderModel.resetDevice();//设置正式环境域名 //jjia-push
byte[] data = ModelCodec.enCode(model); // private void toReset(){
// data = new byte[1]; // ResetDeviceModel model = OrderModel.resetDevice();//设置正式环境域名
// byte[] data = ModelCodec.enCode(model);
// QueryTempeSettingModel xx = OrderModel.OrderQueryTempeSettingModel(device_mac); //// data = new byte[1];
// byte[] data = ModelCodec.enCode(xx); //
BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() { //// QueryTempeSettingModel xx = OrderModel.OrderQueryTempeSettingModel(device_mac);
@Override //// byte[] data = ModelCodec.enCode(xx);
public void onWriteSuccess(int current, int total, byte[] justWrite) { // BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
L.i("jjia-------------重启 发送 成功-"); // @Override
} // public void onWriteSuccess(int current, int total, byte[] justWrite) {
// L.i("jjia-------------重启 发送 成功-");
@Override // }
public void onWriteFailure(BleException exception) { //
L.i("jjia-------------重启 发送 失败"+exception.toString()); // @Override
} // public void onWriteFailure(BleException exception) {
}); // L.i("jjia-------------重启 发送 失败"+exception.toString());
} // }
// });
// }
public static final String SERVICE_UUID = "000000ff-0000-1000-8000-00805f9b34fb"; //蓝牙通讯服务 public static final String SERVICE_UUID = "000000ff-0000-1000-8000-00805f9b34fb"; //蓝牙通讯服务
public static final String READ_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //读特征 public static final String READ_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //读特征
public static final String WRITE_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //写特征 public static final String WRITE_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //写特征
private void connectBle(){ //jjia-push
BleManager.getInstance().connect(currentDevice, new BleGattCallback() { // private void connectBle(){
@Override // BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
public void onStartConnect() { // @Override
showDialog("开始连接蓝牙设备"); // public void onStartConnect() {
} // showDialog("开始连接蓝牙设备");
// }
@Override //
public void onConnectFail(BleDevice bleDevice, BleException exception) { // @Override
ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试"); // public void onConnectFail(BleDevice bleDevice, BleException exception) {
dismissDialog(); // ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试");
} // dismissDialog();
// }
@Override //
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) { // @Override
// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功"); // public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
// setMessage("蓝牙连接成功"); //// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() { //// setMessage("蓝牙连接成功");
@Override // BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
public void onSetMTUFailure(BleException exception) { // @Override
L.i("jjia-------MTU--"+exception.toString()); // public void onSetMTUFailure(BleException exception) {
dismissDialog(); // L.i("jjia-------MTU--"+exception.toString());
} // dismissDialog();
// }
@Override //
public void onMtuChanged(int mtu) { // @Override
L.i("jjia-------MTU--"+mtu); // public void onMtuChanged(int mtu) {
openNotify(); // L.i("jjia-------MTU--"+mtu);
} // openNotify();
}); // }
} // });
// }
@Override //
public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) { // @Override
// ToastUtil.show(NewBindDeviceActivity.this,"连接断开了"); // public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
} //// ToastUtil.show(NewBindDeviceActivity.this,"连接断开了");
}); // }
} // });
// }
private Activity act; private Activity act;
private ConnectDevice connectDevice; private ConnectDevice connectDevice;
private boolean isContinue = true; private boolean isContinue = true;
@ -784,7 +791,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
@Override @Override
public int compareTo(Boolean available) { public int compareTo(Boolean available) {
if (available) { if (available) {
toReset(); //jjia-push
// toReset();
isContinue = false; isContinue = false;
connectDevice.cancel(); connectDevice.cancel();
L.i("jjia-----------调用绑定接口---"); L.i("jjia-----------调用绑定接口---");
@ -1147,22 +1155,23 @@ public class NewBindDeviceActivity extends AppCompatActivity {
// myProgressDialogCancelble = null; // myProgressDialogCancelble = null;
// } // }
// } // }
//jjia-push
List<BleDevice> deviceList; // List<BleDevice> deviceList;
@SuppressLint("MissingPermission") @SuppressLint("MissingPermission")
private void findConencted(){ private void findConencted(){
deviceList = BleManager.getInstance().getAllConnectedDevice(); //jjia-push
if (deviceList!=null && deviceList.size()>0){ // deviceList = BleManager.getInstance().getAllConnectedDevice();
for (BleDevice item:deviceList){ // if (deviceList!=null && deviceList.size()>0){
if (item!=null){ // for (BleDevice item:deviceList){
L.i("jjia-----------"+item.getDevice().getName()); // if (item!=null){
} // L.i("jjia-----------"+item.getDevice().getName());
} // }
// }
}else { //
L.i("jjia--------没有连接的蓝牙---"); // }else {
} // L.i("jjia--------没有连接的蓝牙---");
// }
} }
@Override @Override

View File

@ -1,99 +1,99 @@
package com.ifish.airkiss; //package com.ifish.airkiss;
//
import android.util.Log; //import android.util.Log;
//
import com.ifish.utils.WifiUtil; //import com.ifish.utils.WifiUtil;
import com.lidroid.xutils.util.LogUtils; //import com.lidroid.xutils.util.LogUtils;
//
import java.net.DatagramPacket; //import java.net.DatagramPacket;
import java.net.DatagramSocket; //import java.net.DatagramSocket;
import java.net.InetSocketAddress; //import java.net.InetSocketAddress;
import java.net.SocketException; //import java.net.SocketException;
import java.nio.charset.StandardCharsets; //import java.nio.charset.StandardCharsets;
//
/** ///**
* @author:zau18 // * @author:zau18
* @date: 2023/9/4 9:09 下午 // * @date: 2023/9/4 9:09 下午
* @description: // * @description:
*/ // */
// 创建一个接收器类 //// 创建一个接收器类
public class UDPReceiver extends Thread { //public class UDPReceiver extends Thread {
private static final int MAX_UDP_DATAGRAM_LEN = 15000; // private static final int MAX_UDP_DATAGRAM_LEN = 15000;
private DatagramSocket mSocket; // private DatagramSocket mSocket;
private boolean mRunning; // private boolean mRunning;
private UdpCallback resultBack; // private UdpCallback resultBack;
private WifiUtil wifiUtil; // private WifiUtil wifiUtil;
//
public UDPReceiver(WifiUtil wifiUtil,UdpCallback resultBack) { // public UDPReceiver(WifiUtil wifiUtil,UdpCallback resultBack) {
this.wifiUtil = wifiUtil; // this.wifiUtil = wifiUtil;
this.resultBack = resultBack; // this.resultBack = resultBack;
try { // try {
if(mSocket != null){ // if(mSocket != null){
mSocket.close(); // mSocket.close();
mSocket.disconnect(); // mSocket.disconnect();
mSocket = null; // mSocket = null;
} // }
// 创建一个UDP套接字 // // 创建一个UDP套接字
mSocket = new DatagramSocket(null); // mSocket = new DatagramSocket(null);
mSocket.bind(new InetSocketAddress(10000)); // mSocket.bind(new InetSocketAddress(10000));
mSocket.setSoTimeout(1000 * 60); // mSocket.setSoTimeout(1000 * 60);
} catch (SocketException e) { // } catch (SocketException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} // }
//
@Override // @Override
public void run() { // public void run() {
mRunning = true; // mRunning = true;
byte[] buffer = new byte[MAX_UDP_DATAGRAM_LEN]; // byte[] buffer = new byte[MAX_UDP_DATAGRAM_LEN];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length); // DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
//
while (mRunning) { // while (mRunning) {
try { // try {
LogUtils.d("LHD 开始接受"); // LogUtils.d("LHD 开始接受");
// 接收UDP数据包 // // 接收UDP数据包
mSocket.receive(packet); // mSocket.receive(packet);
String ip3 = WifiUtil.intToIp(wifiUtil.getConnectIpAddress()); // String ip3 = WifiUtil.intToIp(wifiUtil.getConnectIpAddress());
LogUtils.d("LHD 开始接受 = "+" ip3 = "+ip3); // LogUtils.d("LHD 开始接受 = "+" ip3 = "+ip3);
// Log.e("LHD test9999999990","收到的udp包 ip=" + packet.getAddress().getHostAddress()+" ip3 = "+ip3); //// Log.e("LHD test9999999990","收到的udp包 ip=" + packet.getAddress().getHostAddress()+" ip3 = "+ip3);
// 处理接收到的数据 // // 处理接收到的数据
if(!packet.getAddress().getHostAddress().equals(WifiUtil.intToIp(wifiUtil.getConnectIpAddress()))){ // if(!packet.getAddress().getHostAddress().equals(WifiUtil.intToIp(wifiUtil.getConnectIpAddress()))){
String data = new String(packet.getData(), 0, packet.getLength(), StandardCharsets.UTF_8); // String data = new String(packet.getData(), 0, packet.getLength(), StandardCharsets.UTF_8);
String hexString = Str_Hex.byte2hex(packet.getData()); // String hexString = Str_Hex.byte2hex(packet.getData());
handleData(hexString); // handleData(hexString);
} // }
}catch (SocketException e) { // }catch (SocketException e) {
LogUtils.d("LHD SocketException : " + e.getLocalizedMessage()); // LogUtils.d("LHD SocketException : " + e.getLocalizedMessage());
handleErrorData(e.toString()); // handleErrorData(e.toString());
e.printStackTrace(); // e.printStackTrace();
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
handleErrorData(e.toString()); // handleErrorData(e.toString());
} // }
} // }
mSocket.close(); // mSocket.close();
} // }
//
public void stopRunning() { // public void stopRunning() {
mRunning = false; // mRunning = false;
if(mSocket != null){ // if(mSocket != null){
mSocket.close(); // mSocket.close();
mSocket.disconnect(); // mSocket.disconnect();
} // }
} // }
//
private void handleData(String data) { // private void handleData(String data) {
// 处理接收到的数据 // // 处理接收到的数据
if(resultBack != null){ // if(resultBack != null){
resultBack.onReceive(data); // resultBack.onReceive(data);
} // }
} // }
//
private void handleErrorData(String data) { // private void handleErrorData(String data) {
stopRunning(); // stopRunning();
// 处理接收到的数据 // // 处理接收到的数据
if(resultBack != null){ // if(resultBack != null){
resultBack.onError(data); // resultBack.onError(data);
} // }
} // }
} //}

View File

@ -31,8 +31,8 @@ import com.alibaba.sdk.android.push.PushControlService;
import com.alibaba.sdk.android.push.huawei.HuaWeiRegister; import com.alibaba.sdk.android.push.huawei.HuaWeiRegister;
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.alibaba.sdk.android.push.register.MiPushRegister; import com.alibaba.sdk.android.push.register.MiPushRegister;
import com.clj.fastble.BleManager; //import com.clj.fastble.BleManager;
import com.clj.fastble.scan.BleScanRuleConfig; //import com.clj.fastble.scan.BleScanRuleConfig;
import com.ifish.activity.BuildConfig; import com.ifish.activity.BuildConfig;
import com.ifish.basebean.EventBean; import com.ifish.basebean.EventBean;
import com.ifish.utils.ActivityManager; import com.ifish.utils.ActivityManager;
@ -100,18 +100,19 @@ public class BaseApplication extends MultiDexApplication {
//初始化MMKV //初始化MMKV
// KVUtil.init(this); // KVUtil.init(this);
initPicasso(); initPicasso();
//jjia-push
BleManager.getInstance().init(this); // BleManager.getInstance().init(this);
UUID[] uuids = {UUID.fromString(SERVICE_UUID)}; UUID[] uuids = {UUID.fromString(SERVICE_UUID)};
BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder() //jjia-push
.setServiceUuids(uuids) // 只扫描指定的服务的设备可选 // BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
// .setDeviceName(true, names) // 只扫描指定广播名的设备可选 // .setServiceUuids(uuids) // 只扫描指定的服务的设备可选
// .setDeviceMac(mac) // 只扫描指定mac的设备可选 //// .setDeviceName(true, names) // 只扫描指定广播名的设备可选
// .setAutoConnect(isAutoConnect) // 连接时的autoConnect参数可选默认false //// .setDeviceMac(mac) // 只扫描指定mac的设备可选
.setScanTimeOut(30000) // 扫描超时时间30S可选默认10秒小于等于0表示不限制扫描时间 //// .setAutoConnect(isAutoConnect) // 连接时的autoConnect参数可选默认false
.build(); // .setScanTimeOut(30000) // 扫描超时时间30S可选默认10秒小于等于0表示不限制扫描时间
BleManager.getInstance().initScanRule(scanRuleConfig); // .build();
// BleManager.getInstance().initScanRule(scanRuleConfig);
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {

View File

@ -52,10 +52,11 @@ import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.clj.fastble.BleManager; //jjia-push
import com.clj.fastble.callback.BleScanCallback; //import com.clj.fastble.BleManager;
import com.clj.fastble.data.BleDevice; //import com.clj.fastble.callback.BleScanCallback;
import com.clj.fastble.data.BleScanState; //import com.clj.fastble.data.BleDevice;
//import com.clj.fastble.data.BleScanState;
import com.ifish.activity.BindTwoDeviceActivity; import com.ifish.activity.BindTwoDeviceActivity;
import com.ifish.activity.DeviceInstructionActivity; import com.ifish.activity.DeviceInstructionActivity;
import com.ifish.activity.InformationListActivity; import com.ifish.activity.InformationListActivity;
@ -1867,41 +1868,42 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
} }
firstResult = firstResult + HttpManager.PAGESIZE; firstResult = firstResult + HttpManager.PAGESIZE;
} }
//jjia-push
private void initBooth(){ // private void initBooth(){
boolean enable = BleManager.getInstance().isBlueEnable(); // boolean enable = BleManager.getInstance().isBlueEnable();
if (enable) { // if (enable) {
BleManager.getInstance().scan(new BleScanCallback() { // BleManager.getInstance().scan(new BleScanCallback() {
@Override // @Override
public void onScanFinished(List<BleDevice> scanResultList) { // public void onScanFinished(List<BleDevice> scanResultList) {
if (currentDevice!=null){ // 扫描结束有设备 // if (currentDevice!=null){ // 扫描结束有设备
L.i("jjjia-----------scan---"); // L.i("jjjia-----------scan---");
showDevice(); // showDevice();
} // }
} // }
//
@Override // @Override
public void onScanStarted(boolean success) { // public void onScanStarted(boolean success) {
//
} // }
//
@SuppressLint("MissingPermission") // @SuppressLint("MissingPermission")
@Override // @Override
public void onScanning(BleDevice bleDevice) { // public void onScanning(BleDevice bleDevice) {
if (bleDevice!=null && bleDevice.getDevice()!=null){ // if (bleDevice!=null && bleDevice.getDevice()!=null){
BluetoothDevice bean = bleDevice.getDevice(); // BluetoothDevice bean = bleDevice.getDevice();
if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){ // if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
currentDevice = bleDevice; // currentDevice = bleDevice;
BleManager.getInstance().cancelScan(); // BleManager.getInstance().cancelScan();
} // }
L.i(bean.getName()+"jjia------mac---"+bean.getAddress()); // L.i(bean.getName()+"jjia------mac---"+bean.getAddress());
} // }
} // }
}); // });
} // }
//
} // }
BleDevice currentDevice; //jjia-push
// BleDevice currentDevice;
public void onEventMainThread(BluetoothDevice event) { public void onEventMainThread(BluetoothDevice event) {
} }
@ -1976,7 +1978,8 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
intent.setClass(requireActivity(), NewBindDeviceActivity.class); intent.setClass(requireActivity(), NewBindDeviceActivity.class);
intent.putExtra("title", "连接水族箱"); intent.putExtra("title", "连接水族箱");
intent.putExtra("type", "bluetooth"); intent.putExtra("type", "bluetooth");
intent.putExtra("device", currentDevice); //jjia-push
// intent.putExtra("device", currentDevice);
startActivity(intent); startActivity(intent);
AnimationUtil.finishAnimation(requireActivity()); AnimationUtil.finishAnimation(requireActivity());
}); });
@ -1995,21 +1998,22 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
@Override @Override
public void onTick(long l) { public void onTick(long l) {
L.i("jjia-----dowmCount--"+dowmCount); L.i("jjia-----dowmCount--"+dowmCount);
if (dowmCount%6==0){ //jjia-push
BleScanState scanState = getScanState(); // if (dowmCount%6==0){
L.i("jjia-----------timer--"+scanState); // BleScanState scanState = getScanState();
if (BleScanState.STATE_IDLE.equals(scanState)){ // L.i("jjia-----------timer--"+scanState);
if (isShowIng){ // if (BleScanState.STATE_IDLE.equals(scanState)){
L.i("jjia-----已经扫描到设备了,等待反馈-"); // if (isShowIng){
closeDownTimer(); // L.i("jjia-----已经扫描到设备了,等待反馈-");
}else { // closeDownTimer();
initBooth(); // }else {
L.i("jjia-----开始扫描-"); // initBooth();
} // L.i("jjia-----开始扫描-");
}else { // }
L.i("jjia----timer--上一次的扫描还在继续中-"); // }else {
} // L.i("jjia----timer--上一次的扫描还在继续中-");
} // }
// }
dowmCount++; dowmCount++;
} }
@ -2032,10 +2036,10 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
countDownTimer = null; countDownTimer = null;
} }
} }
//jjia-push
private BleScanState getScanState(){ // private BleScanState getScanState(){
return BleManager.getInstance().getScanSate(); // return BleManager.getInstance().getScanSate();
} // }
@Override @Override
public void onPause() { public void onPause() {
@ -2045,13 +2049,14 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
private void oonPause(){ private void oonPause(){
closeDownTimer(); closeDownTimer();
BleScanState scanState = getScanState(); //jjia-push
if (BleScanState.STATE_SCANNING.equals(scanState)) { // BleScanState scanState = getScanState();
BleManager.getInstance().cancelScan(); // if (BleScanState.STATE_SCANNING.equals(scanState)) {
L.i("jjia---扫描暂停----------"); // BleManager.getInstance().cancelScan();
} else { // L.i("jjia---扫描暂停----------");
// } else {
} //
L.i("jjia---扫描暂停-"+scanState); // }
// L.i("jjia---扫描暂停-"+scanState);
} }
} }

View File

@ -33,7 +33,8 @@ import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.clj.fastble.BleManager; //jjia-push
//import com.clj.fastble.BleManager;
import com.ifish.activity.AboutActivity; import com.ifish.activity.AboutActivity;
import com.ifish.activity.BindTwoDeviceActivity; import com.ifish.activity.BindTwoDeviceActivity;
import com.ifish.activity.CaptureActivity; import com.ifish.activity.CaptureActivity;