调整App内获取授权的位置

This commit is contained in:
fengjignqi
2026-06-16 14:49:32 +08:00
parent 45dfc2d793
commit 92ca8067d2
11 changed files with 107 additions and 34 deletions

View File

@@ -11,6 +11,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.EventMessage;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.custom.GridSpacingItemDecoration;
import com.ckkj.water.custom.view.CustomBubbleAttachPopup;
import com.ckkj.water.databinding.DeviceControlLayoutBinding;
@@ -149,7 +150,21 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
break;
case R.id.linear_bt:
showDialogtext(null, false, false, true,
getString(R.string.tip_text),
getString(R.string.device_binding_conflict_message),
getString(R.string.cancel_text),
getString(R.string.confirm_text),
new BaseFragment.OnDialogClick() {
@Override
public void onCancelClick() {
}
@Override
public void onConfirmClick() {
}
});
break;
case R.id.linear_wifi:

View File

@@ -195,7 +195,7 @@ public class EspProvisionManager {
private void startPendingConnect(boolean respectCooldown) {
if (pendingBluetoothDevice == null) {
notifyFailed(ProvisionConfig.ERROR_INVALID_DEVICE, "钃濈墮璁惧鏃犳晥");
notifyFailed(ProvisionConfig.ERROR_INVALID_DEVICE, "蓝牙设备无效");
return;
}
if (provisioning) {

View File

@@ -25,6 +25,7 @@ import com.ckkj.water.ConstantUtil;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.databinding.GuideActivityLayoutBinding;
import com.ckkj.water.login.LoginActivity;
import com.ckkj.water.login.entity.LoginEntity;
import com.ckkj.water.login.mvp.LoginContract;
import com.ckkj.water.login.mvp.LoginImpl;
@@ -95,8 +96,11 @@ public class GuideActivity extends BaseActivity<GuideActivityLayoutBinding, Logi
viewBinding.tvStart.setOnClickListener(v -> {
SharePreUtil.putBoolean(ConstantUtil.SHARE_PRE_NAME, mContext, ConstantUtil.FIRST_ENTER_APP_FLAG, true);
Intent intent = new Intent(mContext, MainActivity.class);
startActivity(intent);
if(AppConfig.USER_LOGIN){
goTo(mContext, MainActivity.class,null);
}else{
goTo(mContext, LoginActivity.class,null);
}
finish();
});
}

View File

@@ -122,25 +122,29 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
switch (v.getId()){
case R.id.img_scan:
//检测有无相机权限
String readPermission = Manifest.permission.CAMERA;
if(!hasRecordPermission(readPermission)){
getPermissionRequst(readPermission,
getString(R.string.permission_request_title),
getString(R.string.camera_permission_scan_desc),
REQUEST_EVENT_CODE_10001);
if(checkBluetoothPermissions()){
//检测有无相机权限
String readPermission = Manifest.permission.CAMERA;
if(!hasRecordPermission(readPermission)){
getPermissionRequst(readPermission,
getString(R.string.permission_request_title),
getString(R.string.camera_permission_scan_desc),
REQUEST_EVENT_CODE_10001);
}else{
scanQrcode();
}
}else{
scanQrcode();
goTo(mContext, PermissionActivity.class,null);
}
break;
case R.id.img_add:
String permission = Manifest.permission.ACCESS_FINE_LOCATION;
boolean hasPermission = hasRecordPermission(permission);
if(!hasPermission){
goTo(mContext, PermissionActivity.class,null);
}else{
if(checkBluetoothPermissions()){
goTo(mContext, AddDeviceActivity_copy.class,null);
}else{
goTo(mContext, PermissionActivity.class,null);
}
break;
@@ -276,6 +280,26 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
checkBluetoothAndProceed();
break;
case 303:
//目前该设备,不属于该用户,需要提示解绑
showDialogtext(null,
false,
false,
getString(R.string.tip_text),
getString(R.string.device_binding_conflict_message),
"",
"",
new OnDialogClick() {
@Override
public void onCancelClick() {
}
@Override
public void onConfirmClick() {
}
});
break;
case 304:
//该设备目前在线已经在mqtt注册但是没有绑定用户需要跳转到绑定页面
Bundle bundleNoBind = new Bundle();
@@ -314,19 +338,12 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
Manifest.permission.ACCESS_FINE_LOCATION
};
if (!hasRecordPermission(permissions)) {
getMorePermissionRequst(permissions,
"蓝牙权限申请",
"智能浇水需要您的授权,获取蓝牙权限添加设备",
REQUEST_EVENT_CODE_BLUETOOTH_PERMISSION);
return false;
}
} else {
// Android 12 以下需要位置权限
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{
Manifest.permission.ACCESS_FINE_LOCATION
}, REQUEST_EVENT_CODE_BLUETOOTH_PERMISSION);
return false;
}
}
@@ -397,14 +414,14 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
@Override
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
hidePermissionDialog();
if (requestCode == REQUEST_EVENT_CODE_10001) {
scanQrcode();
} else if (requestCode == REQUEST_EVENT_CODE_BLUETOOTH_PERMISSION) {
// 蓝牙权限获取成功,检查蓝牙状态
if (initBluetooth()) {
goToDeviceProvisioning();
}
}
// if (requestCode == REQUEST_EVENT_CODE_10001) {
// scanQrcode();
// } else if (requestCode == REQUEST_EVENT_CODE_BLUETOOTH_PERMISSION) {
// // 蓝牙权限获取成功,检查蓝牙状态
// if (initBluetooth()) {
// goToDeviceProvisioning();
// }
// }
}
@Override
@@ -461,4 +478,5 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
}
}

View File

@@ -80,6 +80,8 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
setClick(viewBinding.tvLanguage);
setClick(viewBinding.tvResetPsd);
setClick(viewBinding.checkboxRead);
setClick(viewBinding.btn133);
setClick(viewBinding.btn151);
}
private void setClick(View view) {
@@ -169,6 +171,21 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_133:
showLoadingDialog();
mPresenter.loginBySmsCode("password",
"13305376054",
"",
"000000");
break;
case R.id.btn_151:
showLoadingDialog();
mPresenter.loginBySmsCode("password",
"15192412330",
"",
"000000");
break;
case R.id.checkbox_read:
if(mYinsiConfirm){
mYinsiConfirm = false;

View File

@@ -13,6 +13,7 @@ import com.ckkj.water.login.entity.LoginEntity;
import com.ckkj.water.login.mvp.LoginContract;
import com.ckkj.water.login.mvp.LoginImpl;
import com.ckkj.water.login.mvp.LoginPresenter;
import com.ckkj.water.main.activity.MainActivity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.permission.PermissionActivity;
import com.ckkj.water.utils.show.ToastUtil;
@@ -45,7 +46,7 @@ public class RegisterSuccessActivity extends BaseActivity<RegisterSuccessLayoutB
viewBinding.tvCommit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
goTo(mContext, PermissionActivity.class,null);
goTo(mContext, MainActivity.class,null);
}
});
}