权限调整

This commit is contained in:
fengjignqi
2026-06-05 09:17:02 +08:00
parent e40cf952c0
commit bc270205d0
2 changed files with 52 additions and 7 deletions

View File

@@ -409,6 +409,8 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
hidePermissionDialog(); hidePermissionDialog();
if (requestCode == REQUEST_EVENT_CODE_10001) { if (requestCode == REQUEST_EVENT_CODE_10001) {
scanQrcode(); scanQrcode();
}else if(requestCode == REQUEST_EVENT_CODE_10002){
} }
} }

View File

@@ -1,11 +1,14 @@
package com.ckkj.water.permission; package com.ckkj.water.permission;
import android.Manifest; import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.ckkj.water.ConstantUtil; import com.ckkj.water.ConstantUtil;
import com.ckkj.water.R; import com.ckkj.water.R;
@@ -32,6 +35,9 @@ import pub.devrel.easypermissions.EasyPermissions;
*/ */
public class PermissionActivity extends BaseActivity<PermissionLayoutBinding, MainPresenter> public class PermissionActivity extends BaseActivity<PermissionLayoutBinding, MainPresenter>
implements MainContract.MainView, EasyPermissions.PermissionCallbacks { implements MainContract.MainView, EasyPermissions.PermissionCallbacks {
private static final int REQUEST_BLUETOOTH_PERMISSION = 1002;
@Override @Override
public MainPresenter createPresenter() { public MainPresenter createPresenter() {
return new MainPresenter(new MainImpl()); return new MainPresenter(new MainImpl());
@@ -71,16 +77,50 @@ public class PermissionActivity extends BaseActivity<PermissionLayoutBinding, Ma
break; break;
case R.id.tv_commit: case R.id.tv_commit:
String[] permission = { // String[] permission = {
Manifest.permission.ACCESS_FINE_LOCATION // Manifest.permission.ACCESS_FINE_LOCATION
}; // };
boolean hasPermission = hasRecordPermission(permission); // boolean hasPermission = hasRecordPermission(permission);
if(!hasPermission){ // if(!hasPermission){
getMorePermissionRequst(permission,"权限申请","智溉管家需要您的授权获取位置权限,用于添加设备",REQUEST_EVENT_CODE_10001); // getMorePermissionRequst(permission,"权限申请","智溉管家需要您的授权获取位置权限,用于添加设备",REQUEST_EVENT_CODE_10001);
} // }
checkBluetoothPermissions();
break; break;
} }
} }
/**
* 检查蓝牙权限
*/
private boolean checkBluetoothPermissions() {
if (Build.VERSION.SDK_INT >= 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 @Override
public void showError(String message) { public void showError(String message) {
@@ -128,6 +168,9 @@ public class PermissionActivity extends BaseActivity<PermissionLayoutBinding, Ma
if (requestCode == REQUEST_EVENT_CODE_10001) { if (requestCode == REQUEST_EVENT_CODE_10001) {
ToastUtil.showShort(mContext,"权限获取成功"); ToastUtil.showShort(mContext,"权限获取成功");
finish(); finish();
}else if(requestCode == REQUEST_EVENT_CODE_10003){
ToastUtil.showShort(mContext,"蓝牙权限获取成功");
finish();
} }
} }