diff --git a/app/src/main/java/com/ckkj/water/device/AddDeviceActivity_copy.java b/app/src/main/java/com/ckkj/water/device/AddDeviceActivity_copy.java index fdfbde1..4a11f85 100644 --- a/app/src/main/java/com/ckkj/water/device/AddDeviceActivity_copy.java +++ b/app/src/main/java/com/ckkj/water/device/AddDeviceActivity_copy.java @@ -409,6 +409,8 @@ public class AddDeviceActivity_copy extends BaseActivity implements MainContract.MainView, EasyPermissions.PermissionCallbacks { + private static final int REQUEST_BLUETOOTH_PERMISSION = 1002; + + @Override public MainPresenter createPresenter() { return new MainPresenter(new MainImpl()); @@ -71,16 +77,50 @@ public class PermissionActivity extends BaseActivity= Build.VERSION_CODES.S) { + + String[] readPermission = new String[]{ + Manifest.permission.BLUETOOTH_SCAN, + Manifest.permission.BLUETOOTH_CONNECT, + Manifest.permission.ACCESS_FINE_LOCATION + }; + if (!hasRecordPermission(readPermission)) { + // 没有权限,只在ACTION_DOWN时去申请 + getMorePermissionRequst(readPermission,"蓝牙扫描权限申请", + "智溉管家需要您的授权,获取蓝牙权限添加设备",REQUEST_EVENT_CODE_10003); + return false; + } + } else { + // Android 12 以下需要位置权限才能扫描蓝牙 + if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + + requestPermissions(new String[]{ + Manifest.permission.ACCESS_FINE_LOCATION + }, REQUEST_EVENT_CODE_10003); + return false; + } + } + return true; + } + @Override public void showError(String message) { @@ -128,6 +168,9 @@ public class PermissionActivity extends BaseActivity