This commit is contained in:
parent
4b32355941
commit
b6fa55f36a
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" /> <!– 【必选】用以设置前台是否显示通知 –>-->
|
||||||
<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"
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue