From 23e11c8f9112df802aaff06350355b4f826b65f8 Mon Sep 17 00:00:00 2001 From: jia Date: Sun, 8 Dec 2024 02:56:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- iFish7/build.gradle | 4 +- .../java/com/ifish/fragment/MineFragment.java | 84 ++++++++++++++++++- 3 files changed, 84 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 8a190e714..043a79f7c 100644 --- a/build.gradle +++ b/build.gradle @@ -43,6 +43,6 @@ allprojects { ext { compileSdkVersion = 33 buildToolsVersion = "33.0.0" - minSdkVersion = 21 + minSdkVersion = 23 targetSdkVersion = 33 } \ No newline at end of file diff --git a/iFish7/build.gradle b/iFish7/build.gradle index 5a02182ad..cfa909186 100644 --- a/iFish7/build.gradle +++ b/iFish7/build.gradle @@ -94,7 +94,7 @@ dependencies { implementation 'de.greenrobot:eventbus:2.4.0' implementation 'com.squareup.picasso:picasso:2.5.2' - implementation 'com.squareup.okhttp3:okhttp:3.9.0' + implementation 'com.squareup.okhttp3:okhttp:3.9.0' //3.9.0 implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' implementation 'com.google.zxing:core:3.3.0' //云信聊天 @@ -173,7 +173,7 @@ dependencies { //友盟分享 // implementation files('libs/umeng_social_sdk.jar') - implementation 'com.tencent:mmkv:1.3.3' + implementation 'com.tencent:mmkv:2.0.0' implementation("com.github.bumptech.glide:okhttp3-integration:4.11.0" ) implementation 'com.github.Jasonchenlijian:FastBle:2.4.0' diff --git a/iFish7/src/main/java/com/ifish/fragment/MineFragment.java b/iFish7/src/main/java/com/ifish/fragment/MineFragment.java index 46bbf062f..ec6837700 100644 --- a/iFish7/src/main/java/com/ifish/fragment/MineFragment.java +++ b/iFish7/src/main/java/com/ifish/fragment/MineFragment.java @@ -9,6 +9,7 @@ package com.ifish.fragment; import static android.content.Context.NOTIFICATION_SERVICE; +import android.Manifest; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; @@ -34,6 +35,7 @@ import android.widget.Toast; import com.bumptech.glide.Glide; import com.clj.fastble.BleManager; import com.ifish.activity.AboutActivity; +import com.ifish.activity.BindTwoDeviceActivity; import com.ifish.activity.CaptureActivity; import com.ifish.activity.DeviceInstructionActivity; import com.ifish.activity.LoadingActivity; @@ -55,6 +57,7 @@ import com.ifish.basebean.MineNewInfo; import com.ifish.basebean.Version; import com.ifish.baseclass.BaseV4Fragment; import com.ifish.baseclass.UriForFile; +import com.ifish.permission.PermissionHelper; import com.ifish.utils.ActivityManager; import com.ifish.utils.AnimationUtil; import com.ifish.utils.AppUtil; @@ -113,6 +116,9 @@ public class MineFragment extends BaseV4Fragment { initView(); loadHeadImage(); initListener(); + + permission = new String[]{Manifest.permission.CAMERA}; + permissionHelper = new PermissionHelper(this, permission, 250); return v; } @@ -354,6 +360,21 @@ public class MineFragment extends BaseV4Fragment { // CallbackContext.onActivityResult(requestCode, resultCode, data); } + private void showPermissionHint(){ + AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT); + dialog.setCancelable(false); + dialog.setTitle("提示"); + dialog.setMessage("扫一扫,需要获取相机权限,才能使用扫描功能,是否允许申请?"); + dialog.setNegativeButton("拒绝", (arg0, arg1) -> { + arg0.dismiss(); + + }); + dialog.setPositiveButton("允许", (dialog1, which) -> { + getPermission(); + }); + dialog.show(); + } + @Override public void onClick(View v) {//点击事件 Intent i = new Intent(); @@ -365,9 +386,14 @@ public class MineFragment extends BaseV4Fragment { AnimationUtil.startAnimation(getActivity()); break; case R.id.rl_zxing://扫描二维码 - i.setClass(getActivity(), CaptureActivity.class); - startActivity(i); - AnimationUtil.startAnimation(getActivity()); + if (!permissionHelper.checkSelfPermission(permission)) { + showPermissionHint(); + }else { + i.setClass(getActivity(), CaptureActivity.class); + startActivity(i); + AnimationUtil.startAnimation(getActivity()); + } + break; case R.id.rl_aboutus: i.setClass(getActivity(), AboutActivity.class); @@ -624,4 +650,56 @@ public class MineFragment extends BaseV4Fragment { } } } + private PermissionHelper permissionHelper; + + String[] permission; + private void getPermission() { + permissionHelper.request(new PermissionHelper.PermissionCallback() { + @Override + public void onPermissionGranted() { + Intent i = new Intent(); + i.setClass(requireActivity(), CaptureActivity.class); + startActivity(i); + AnimationUtil.startAnimation(requireActivity()); + } + + @Override + public void onIndividualPermissionGranted(String[] grantedPermission) { + AlertDialog.Builder dialog = new AlertDialog.Builder(requireActivity()); + dialog.setCancelable(false); + dialog.setMessage("请先同意app获取权限"); + dialog.setPositiveButton("确定", (dialog2, which) -> { + + }); + dialog.setNegativeButton("取消", (dialog3, which) -> { + }); + dialog.show(); + } + + @Override + public void onPermissionDenied() { + AlertDialog.Builder dialog = new AlertDialog.Builder(requireActivity()); + dialog.setCancelable(false); + dialog.setMessage("请先同意app获取权限"); + dialog.setPositiveButton("确定", (dialog4, which) -> getPermission()); + dialog.setNegativeButton("取消", (dialog5, which) -> { + }); + dialog.show(); + } + + @Override + public void onPermissionDeniedBySystem() { + AlertDialog.Builder dialog = new AlertDialog.Builder(requireActivity()); + dialog.setCancelable(false); + dialog.setTitle("温馨提示"); + dialog.setMessage("请到应用信息页面-权限管理-打开图片和相机权限"); + dialog.setPositiveButton("去开启", (dialog1, which) -> { + AppUtil.toAuthority(requireActivity()); + }); + dialog.setNegativeButton("取消", (dialog12, which) -> { + }); + dialog.show(); + } + }); + } }