权限调整
This commit is contained in:
@@ -409,6 +409,8 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
|
||||
hidePermissionDialog();
|
||||
if (requestCode == REQUEST_EVENT_CODE_10001) {
|
||||
scanQrcode();
|
||||
}else if(requestCode == REQUEST_EVENT_CODE_10002){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.ckkj.water.permission;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.ckkj.water.ConstantUtil;
|
||||
import com.ckkj.water.R;
|
||||
@@ -32,6 +35,9 @@ import pub.devrel.easypermissions.EasyPermissions;
|
||||
*/
|
||||
public class PermissionActivity extends BaseActivity<PermissionLayoutBinding, MainPresenter>
|
||||
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<PermissionLayoutBinding, Ma
|
||||
break;
|
||||
|
||||
case R.id.tv_commit:
|
||||
String[] permission = {
|
||||
Manifest.permission.ACCESS_FINE_LOCATION
|
||||
};
|
||||
boolean hasPermission = hasRecordPermission(permission);
|
||||
if(!hasPermission){
|
||||
getMorePermissionRequst(permission,"权限申请","智溉管家需要您的授权获取位置权限,用于添加设备",REQUEST_EVENT_CODE_10001);
|
||||
}
|
||||
// String[] permission = {
|
||||
// Manifest.permission.ACCESS_FINE_LOCATION
|
||||
// };
|
||||
// boolean hasPermission = hasRecordPermission(permission);
|
||||
// if(!hasPermission){
|
||||
// getMorePermissionRequst(permission,"权限申请","智溉管家需要您的授权获取位置权限,用于添加设备",REQUEST_EVENT_CODE_10001);
|
||||
// }
|
||||
checkBluetoothPermissions();
|
||||
|
||||
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
|
||||
public void showError(String message) {
|
||||
|
||||
@@ -128,6 +168,9 @@ public class PermissionActivity extends BaseActivity<PermissionLayoutBinding, Ma
|
||||
if (requestCode == REQUEST_EVENT_CODE_10001) {
|
||||
ToastUtil.showShort(mContext,"权限获取成功");
|
||||
finish();
|
||||
}else if(requestCode == REQUEST_EVENT_CODE_10003){
|
||||
ToastUtil.showShort(mContext,"蓝牙权限获取成功");
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user