ble
This commit is contained in:
parent
458a80bc00
commit
2664e9cf76
|
|
@ -28,6 +28,7 @@ import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.RequiresPermission;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
import com.clj.fastble.BleManager;
|
import com.clj.fastble.BleManager;
|
||||||
|
|
@ -58,6 +59,7 @@ import com.ifish.activity.MainThree1CControlActivity;
|
||||||
import com.ifish.activity.MainThreeControlActivity;
|
import com.ifish.activity.MainThreeControlActivity;
|
||||||
import com.ifish.activity.MainTwoControlActivity;
|
import com.ifish.activity.MainTwoControlActivity;
|
||||||
import com.ifish.activity.MainZeroControlActivity;
|
import com.ifish.activity.MainZeroControlActivity;
|
||||||
|
import com.ifish.activity.MineActivity;
|
||||||
import com.ifish.activity.R;
|
import com.ifish.activity.R;
|
||||||
import com.ifish.activity.WebViewActivity;
|
import com.ifish.activity.WebViewActivity;
|
||||||
import com.ifish.basebean.BaseBean;
|
import com.ifish.basebean.BaseBean;
|
||||||
|
|
@ -65,6 +67,7 @@ import com.ifish.basebean.ConnectMessageEvent;
|
||||||
import com.ifish.basebean.Device;
|
import com.ifish.basebean.Device;
|
||||||
import com.ifish.basebean.EventBean;
|
import com.ifish.basebean.EventBean;
|
||||||
import com.ifish.baseclass.BaseGradeActivity;
|
import com.ifish.baseclass.BaseGradeActivity;
|
||||||
|
import com.ifish.permission.PermissionHelper;
|
||||||
import com.ifish.tcp.BackFunctionCode7_11;
|
import com.ifish.tcp.BackFunctionCode7_11;
|
||||||
import com.ifish.tcp.ModelCodec;
|
import com.ifish.tcp.ModelCodec;
|
||||||
import com.ifish.tcp.OrderDeviceConnectModel;
|
import com.ifish.tcp.OrderDeviceConnectModel;
|
||||||
|
|
@ -73,6 +76,7 @@ import com.ifish.tcp.ResetDeviceModel;
|
||||||
import com.ifish.utils.ActivityManager;
|
import com.ifish.utils.ActivityManager;
|
||||||
import com.ifish.utils.AnimationUtil;
|
import com.ifish.utils.AnimationUtil;
|
||||||
import com.ifish.utils.AppRoute;
|
import com.ifish.utils.AppRoute;
|
||||||
|
import com.ifish.utils.AppUtil;
|
||||||
import com.ifish.utils.BlueToothUtil;
|
import com.ifish.utils.BlueToothUtil;
|
||||||
import com.ifish.utils.ByteUtil;
|
import com.ifish.utils.ByteUtil;
|
||||||
import com.ifish.utils.ClickUtil;
|
import com.ifish.utils.ClickUtil;
|
||||||
|
|
@ -83,6 +87,7 @@ import com.ifish.utils.L;
|
||||||
import com.ifish.utils.SPUtil;
|
import com.ifish.utils.SPUtil;
|
||||||
import com.ifish.utils.ToastUtil;
|
import com.ifish.utils.ToastUtil;
|
||||||
import com.ifish.utils.WifiAdmin;
|
import com.ifish.utils.WifiAdmin;
|
||||||
|
import com.ifish.view.IosAlertDialog;
|
||||||
import com.lidroid.xutils.util.LogUtils;
|
import com.lidroid.xutils.util.LogUtils;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
|
|
@ -130,12 +135,15 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
private Dialog waterTempDialog;
|
private Dialog waterTempDialog;
|
||||||
String type = null;
|
String type = null;
|
||||||
private Activity activity;
|
private Activity activity;
|
||||||
|
private PermissionHelper permissionHelper;
|
||||||
|
String[] permission;
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_new_bind_device_choice);
|
setContentView(R.layout.activity_new_bind_device_choice);
|
||||||
activity = this;
|
activity = this;
|
||||||
|
permission = AppUtil.getBluePermissionList();
|
||||||
|
permissionHelper = new PermissionHelper(this, permission, 250);
|
||||||
ActivityManager.getInstance().addActivity(this);
|
ActivityManager.getInstance().addActivity(this);
|
||||||
|
|
||||||
sp=SPUtil.getInstance(this);
|
sp=SPUtil.getInstance(this);
|
||||||
|
|
@ -470,43 +478,14 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
break;
|
break;
|
||||||
case BlueTooth:
|
case BlueTooth:
|
||||||
|
|
||||||
|
if (permissionHelper.checkSelfPermission(permission)) {
|
||||||
|
blueClick();
|
||||||
//jjia-xpush
|
|
||||||
boolean support = BleManager.getInstance().isSupportBle();
|
|
||||||
if (!support){
|
|
||||||
ToastUtil.show(NewBindDeviceActivity.this,"当前设备不支持低功耗蓝牙");
|
|
||||||
} else {
|
} else {
|
||||||
boolean enable = BleManager.getInstance().isBlueEnable();
|
showPermissionHint();
|
||||||
if (enable){
|
|
||||||
if (TextUtils.isEmpty(type)){
|
|
||||||
blueScan();
|
|
||||||
}else {
|
|
||||||
showDialog("开始连接蓝牙设备");
|
|
||||||
connectBle();
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this, AlertDialog.THEME_HOLO_LIGHT);
|
|
||||||
dialog.setCancelable(false);
|
|
||||||
dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,再点击'确定'连接");
|
|
||||||
dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(
|
|
||||||
DialogInterface dialog,
|
|
||||||
int which) {
|
|
||||||
BlueToothUtil.openBlueTooth(NewBindDeviceActivity.this);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
dialog.show();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case APConnect:
|
case APConnect:
|
||||||
//开始AP连接
|
//开始AP连接
|
||||||
|
|
@ -520,6 +499,124 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void showPermissionHint(){
|
||||||
|
IosAlertDialog dialog = new IosAlertDialog(this).builder();
|
||||||
|
dialog.setCancelable(false);
|
||||||
|
dialog.setTitle("权限申请理由");
|
||||||
|
dialog.setMessage("蓝牙联网,需要app获取手机的蓝牙扫描权限才能进行蓝牙扫描,是否允许申请蓝牙扫描相关权限?");
|
||||||
|
dialog.setNegativeButton("拒绝", view -> {
|
||||||
|
|
||||||
|
});
|
||||||
|
dialog.setPositiveButton("申请", view ->
|
||||||
|
{
|
||||||
|
getPermission();
|
||||||
|
});
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getPermission() {
|
||||||
|
permissionHelper.request(new PermissionHelper.PermissionCallback() {
|
||||||
|
@Override
|
||||||
|
public void onPermissionGranted() {
|
||||||
|
blueClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onIndividualPermissionGranted(String[] grantedPermission) {
|
||||||
|
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
|
||||||
|
dialog.setCancelable(false);
|
||||||
|
dialog.setMessage("蓝牙联网,请先同意app获取蓝牙相关权限");
|
||||||
|
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(
|
||||||
|
DialogInterface dialog,
|
||||||
|
int which) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPermissionDenied() {
|
||||||
|
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
|
||||||
|
dialog.setCancelable(false);
|
||||||
|
dialog.setMessage("蓝牙联网,请先同意app获取蓝牙相关权限");
|
||||||
|
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(
|
||||||
|
DialogInterface dialog,
|
||||||
|
int which) {
|
||||||
|
getPermission();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPermissionDeniedBySystem() {
|
||||||
|
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
|
||||||
|
dialog.setCancelable(false);
|
||||||
|
dialog.setTitle("温馨提示");
|
||||||
|
dialog.setMessage("蓝牙联网,请到应用信息页面-权限管理-打开蓝牙权限");
|
||||||
|
dialog.setPositiveButton("去开启", (dialog1, which) -> {
|
||||||
|
AppUtil.toAuthority(NewBindDeviceActivity.this);
|
||||||
|
});
|
||||||
|
dialog.setNegativeButton("取消", (dialog12, which) -> {
|
||||||
|
});
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void blueClick(){
|
||||||
|
//jjia-xpush
|
||||||
|
boolean support = BleManager.getInstance().isSupportBle();
|
||||||
|
if (!support){
|
||||||
|
ToastUtil.show(NewBindDeviceActivity.this,"当前设备不支持低功耗蓝牙");
|
||||||
|
} else {
|
||||||
|
boolean enable = BleManager.getInstance().isBlueEnable();
|
||||||
|
if (enable){
|
||||||
|
if (TextUtils.isEmpty(type)){
|
||||||
|
blueScan();
|
||||||
|
}else {
|
||||||
|
showDialog("开始连接蓝牙设备");
|
||||||
|
connectBle();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this, AlertDialog.THEME_HOLO_LIGHT);
|
||||||
|
dialog.setCancelable(false);
|
||||||
|
dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,再点击'确定'连接");
|
||||||
|
dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(
|
||||||
|
DialogInterface dialog,
|
||||||
|
int which) {
|
||||||
|
BlueToothUtil.openBlueTooth(NewBindDeviceActivity.this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
private void blueScan(){
|
private void blueScan(){
|
||||||
BleManager.getInstance().scan(new BleScanCallback() {
|
BleManager.getInstance().scan(new BleScanCallback() {
|
||||||
|
|
@ -698,19 +795,19 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void onWriteSuccess(int current, int total, byte[] justWrite) {
|
public void onWriteSuccess(int current, int total, byte[] justWrite) {
|
||||||
|
|
||||||
L.i("jjia-------------ssid 发送");
|
L.i("jjia-------------ssid 发送ok");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onWriteFailure(BleException exception) {
|
public void onWriteFailure(BleException exception) {
|
||||||
|
L.i("jjia-------------发送-失败"+exception.toString());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
private void toReset(){
|
private void toReset(){
|
||||||
ResetDeviceModel model = OrderModel.resetDevice();//设置正式环境域名
|
ResetDeviceModel model = OrderModel.resetDevice();//设置正式环境域名
|
||||||
byte[] data = ModelCodec.enCode(model);
|
byte[] data = ModelCodec.enCode(model,Commons.IoBuffer);
|
||||||
// data = new byte[1];
|
// data = new byte[1];
|
||||||
|
|
||||||
// QueryTempeSettingModel xx = OrderModel.OrderQueryTempeSettingModel(device_mac);
|
// QueryTempeSettingModel xx = OrderModel.OrderQueryTempeSettingModel(device_mac);
|
||||||
|
|
@ -733,11 +830,20 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
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"; //写特征
|
||||||
|
|
||||||
|
// 全局gatt
|
||||||
|
private BluetoothGatt mGatt;
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
private void connectBle(){
|
private void connectBle(){
|
||||||
BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
|
BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
|
||||||
|
@RequiresPermission(Manifest.permission.BLUETOOTH_CONNECT)
|
||||||
@Override
|
@Override
|
||||||
public void onStartConnect() {
|
public void onStartConnect() {
|
||||||
|
|
||||||
|
if (mGatt!=null){
|
||||||
|
mGatt.disconnect();
|
||||||
|
mGatt.close();
|
||||||
|
mGatt = null;
|
||||||
|
}
|
||||||
showDialog("开始连接蓝牙设备");
|
showDialog("开始连接蓝牙设备");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -751,6 +857,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
|
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
|
||||||
// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
|
// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
|
||||||
// setMessage("蓝牙连接成功");
|
// setMessage("蓝牙连接成功");
|
||||||
|
|
||||||
|
mGatt = gatt;
|
||||||
BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
|
BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSetMTUFailure(BleException exception) {
|
public void onSetMTUFailure(BleException exception) {
|
||||||
|
|
@ -1181,6 +1289,10 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
L.i(requestCode+"jjia--------result-1--"+requestCode);
|
L.i(requestCode+"jjia--------result-1--"+requestCode);
|
||||||
if (101== requestCode && 0==resultCode){
|
if (101== requestCode && 0==resultCode){
|
||||||
checkNet();
|
checkNet();
|
||||||
|
}else if(250==requestCode){
|
||||||
|
if (permissionHelper.checkSelfPermission(permission)) {
|
||||||
|
blueClick();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void showDialog(String msg){
|
private void showDialog(String msg){
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ package com.ifish.fragment;
|
||||||
|
|
||||||
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
|
|
@ -22,6 +23,7 @@ import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
@ -50,6 +52,7 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
|
|
@ -193,6 +196,7 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
private PermissionHelper permissionHelper;
|
private PermissionHelper permissionHelper;
|
||||||
|
|
||||||
String[] permission;
|
String[] permission;
|
||||||
|
String[] permission_blue;
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
|
|
@ -215,8 +219,10 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
initInformation();
|
initInformation();
|
||||||
|
|
||||||
permission = new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION};
|
permission = new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION};
|
||||||
|
permission_blue = AppUtil.getBluePermissionList();
|
||||||
permissionHelper = new PermissionHelper(DeviceFragment.this, permission, 250);
|
permissionHelper = new PermissionHelper(DeviceFragment.this, permission, 250);
|
||||||
// initBooth();
|
|
||||||
|
initBooth();
|
||||||
boolean notificationsEnabled = PushManager.getInstance().areNotificationsEnabled(requireActivity());
|
boolean notificationsEnabled = PushManager.getInstance().areNotificationsEnabled(requireActivity());
|
||||||
if (!notificationsEnabled){
|
if (!notificationsEnabled){
|
||||||
toOpenNotifications();
|
toOpenNotifications();
|
||||||
|
|
@ -270,9 +276,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
@Override
|
@Override
|
||||||
public void onPermissionGranted() {
|
public void onPermissionGranted() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
|
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|
@ -1911,37 +1914,38 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
}
|
}
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
private void initBooth(){
|
private void initBooth(){
|
||||||
boolean enable = BleManager.getInstance().isBlueEnable();
|
if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
|
||||||
if (enable) {
|
boolean enable = BleManager.getInstance().isBlueEnable();
|
||||||
BleManager.getInstance().scan(new BleScanCallback() {
|
if (enable) {
|
||||||
@Override
|
BleManager.getInstance().scan(new BleScanCallback() {
|
||||||
public void onScanFinished(List<BleDevice> scanResultList) {
|
@Override
|
||||||
if (currentDevice!=null){ // 扫描结束,有设备
|
public void onScanFinished(List<BleDevice> scanResultList) {
|
||||||
L.i("jjjia-----------scan---");
|
if (currentDevice!=null){ // 扫描结束,有设备
|
||||||
showDevice();
|
L.i("jjjia-----------scan---");
|
||||||
}
|
showDevice();
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onScanStarted(boolean success) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressLint("MissingPermission")
|
|
||||||
@Override
|
|
||||||
public void onScanning(BleDevice bleDevice) {
|
|
||||||
if (bleDevice!=null && bleDevice.getDevice()!=null){
|
|
||||||
BluetoothDevice bean = bleDevice.getDevice();
|
|
||||||
if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
|
|
||||||
currentDevice = bleDevice;
|
|
||||||
BleManager.getInstance().cancelScan();
|
|
||||||
}
|
}
|
||||||
L.i(bean.getName()+"jjia------mac---"+bean.getAddress());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onScanStarted(boolean success) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("MissingPermission")
|
||||||
|
@Override
|
||||||
|
public void onScanning(BleDevice bleDevice) {
|
||||||
|
if (bleDevice!=null && bleDevice.getDevice()!=null){
|
||||||
|
BluetoothDevice bean = bleDevice.getDevice();
|
||||||
|
if (!TextUtils.isEmpty(bean.getName()) && bean.getName().startsWith("ifish")){
|
||||||
|
currentDevice = bleDevice;
|
||||||
|
BleManager.getInstance().cancelScan();
|
||||||
|
}
|
||||||
|
L.i(bean.getName()+"jjia------mac---"+bean.getAddress());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//jjia-xpush
|
//jjia-xpush
|
||||||
BleDevice currentDevice;
|
BleDevice currentDevice;
|
||||||
|
|
@ -1964,10 +1968,11 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
if (!isShowIng){
|
if (!isShowIng){
|
||||||
currentDevice = null;
|
currentDevice = null;
|
||||||
}
|
}
|
||||||
BleManager.getInstance().cancelScan();
|
if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
|
||||||
}else
|
BleManager.getInstance().cancelScan();
|
||||||
|
}
|
||||||
|
|
||||||
if (EventBean.TAB_INDEX.equals(eventBean.name)){
|
}else if (EventBean.TAB_INDEX.equals(eventBean.name)){
|
||||||
currentIndex = eventBean.index;
|
currentIndex = eventBean.index;
|
||||||
L.i("jjia-----tab_index--"+eventBean.index);
|
L.i("jjia-----tab_index--"+eventBean.index);
|
||||||
if (currentIndex == 0){
|
if (currentIndex == 0){
|
||||||
|
|
@ -2039,42 +2044,43 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
CountDownTimer countDownTimer;
|
CountDownTimer countDownTimer;
|
||||||
private void startDownTimer(){
|
private void startDownTimer(){
|
||||||
closeDownTimer();
|
closeDownTimer();
|
||||||
if (!isShowIng && currentIndex == 0){
|
if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
|
||||||
dowmCount = 1;
|
if (!isShowIng && currentIndex == 0){
|
||||||
countDownTimer = new CountDownTimer(2000000000,1000) {
|
dowmCount = 1;
|
||||||
@Override
|
countDownTimer = new CountDownTimer(2000000000,1000) {
|
||||||
public void onTick(long l) {
|
@Override
|
||||||
L.i("jjia-----dowmCount--"+dowmCount);
|
public void onTick(long l) {
|
||||||
//jjia-xpush
|
L.i("jjia-----dowmCount--"+dowmCount);
|
||||||
if (dowmCount%6==0){
|
//jjia-xpush
|
||||||
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-----已经扫描到设备了,等待反馈-");
|
||||||
|
closeDownTimer();
|
||||||
|
}else {
|
||||||
|
initBooth();
|
||||||
|
L.i("jjia-----开始扫描-");
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
initBooth();
|
L.i("jjia----timer--上一次的扫描还在继续中-");
|
||||||
L.i("jjia-----开始扫描-");
|
|
||||||
}
|
}
|
||||||
}else {
|
|
||||||
L.i("jjia----timer--上一次的扫描还在继续中-");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dowmCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
dowmCount++;
|
@Override
|
||||||
}
|
public void onFinish() {
|
||||||
|
L.i("jjia---倒计时完成----------");
|
||||||
@Override
|
}
|
||||||
public void onFinish() {
|
};
|
||||||
L.i("jjia---倒计时完成----------");
|
countDownTimer.start();
|
||||||
}
|
}else {
|
||||||
};
|
L.i("jjia----timer--已扫描到设备,暂不执行倒计时-");
|
||||||
countDownTimer.start();
|
}
|
||||||
}else {
|
|
||||||
L.i("jjia----timer--已扫描到设备,暂不执行倒计时-");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void closeDownTimer(){
|
private void closeDownTimer(){
|
||||||
|
|
@ -2087,7 +2093,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
private BleScanState getScanState(){
|
private BleScanState getScanState(){
|
||||||
return BleManager.getInstance().getScanSate();
|
return BleManager.getInstance().getScanSate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
|
@ -2096,14 +2101,19 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
|
||||||
|
|
||||||
private void oonPause(){
|
private void oonPause(){
|
||||||
closeDownTimer();
|
closeDownTimer();
|
||||||
//jjia-xpush
|
if (AppUtil.checkSelfPermission(getContext(),permission_blue)) {
|
||||||
BleScanState scanState = getScanState();
|
//jjia-xpush
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import android.bluetooth.BluetoothManager;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
@ -14,6 +15,7 @@ import android.widget.ImageView;
|
||||||
|
|
||||||
import androidx.activity.ComponentActivity;
|
import androidx.activity.ComponentActivity;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.ifish.activity.R;
|
import com.ifish.activity.R;
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
|
@ -258,7 +260,14 @@ public class AppUtil {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static boolean checkSelfPermission(Context context ,String[] permissions) {
|
||||||
|
for (String permission : permissions) {
|
||||||
|
if (ContextCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public static String [] getImagePermissionList(){
|
public static String [] getImagePermissionList(){
|
||||||
List<String> perList = new ArrayList<>();
|
List<String> perList = new ArrayList<>();
|
||||||
|
|
@ -282,6 +291,28 @@ public class AppUtil {
|
||||||
return permissions;
|
return permissions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String [] getBluePermissionList(){
|
||||||
|
List<String> perList = new ArrayList<>();
|
||||||
|
perList.add(android.Manifest.permission.BLUETOOTH);
|
||||||
|
perList.add(android.Manifest.permission.ACCESS_FINE_LOCATION);
|
||||||
|
perList.add(android.Manifest.permission.ACCESS_COARSE_LOCATION);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
|
||||||
|
perList.add(android.Manifest.permission.BLUETOOTH_SCAN);
|
||||||
|
perList.add(android.Manifest.permission.BLUETOOTH_ADVERTISE);
|
||||||
|
perList.add(android.Manifest.permission.BLUETOOTH_CONNECT);
|
||||||
|
}else {
|
||||||
|
|
||||||
|
}
|
||||||
|
int size = perList.size();
|
||||||
|
String [] permissions = new String[size];
|
||||||
|
|
||||||
|
for (int i = 0;i<size;i++){
|
||||||
|
permissions[i] = perList.get(i);
|
||||||
|
}
|
||||||
|
return permissions;
|
||||||
|
}
|
||||||
|
|
||||||
public static void setHeader(Activity activity,ImageView header,String weixin){
|
public static void setHeader(Activity activity,ImageView header,String weixin){
|
||||||
String userImg = Commons.USER.getUserImg();
|
String userImg = Commons.USER.getUserImg();
|
||||||
if (!TextUtils.isEmpty(userImg)){
|
if (!TextUtils.isEmpty(userImg)){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue