From 3a44129b03c3dba6e3defb2314801782f1d04936 Mon Sep 17 00:00:00 2001 From: lijia Date: Fri, 25 Oct 2024 15:54:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=9D=83=E9=99=90=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/ALProcess.java | 5 ++ .../ui/MainActivity.kt | 6 +- .../ui/home/HomeFragment.java | 63 ++++++++++++------- .../ui/home/HuoYunDelActivity.java | 41 ++++++++++-- .../util/img/GetCarImageAlert.java | 29 +++++++-- 5 files changed, 112 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/report/ALProcess.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/report/ALProcess.java index 74addfe..d194d96 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/report/ALProcess.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/report/ALProcess.java @@ -13,6 +13,7 @@ import com.arpa.hndahesudintocctmsdriver.BuildConfig; import com.arpa.hndahesudintocctmsdriver.parts.AuthParts; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil; +import com.dahe.mylibrary.utils.ToastUtils; import com.google.gson.Gson; import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean; import com.arpa.hndahesudintocctmsdriver.bean.FqBean; @@ -42,6 +43,10 @@ public class ALProcess { public static void verification(Context con){ DriverAuthDataBean auth= AuthParts.getAuth(con); + if (auth==null){ + return; + } + Identity idy=new Identity(); //企业代码 idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE); diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt index 805cef9..b38fcb1 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt @@ -129,9 +129,9 @@ class MainActivity : BaseAppCompatActivity() { bt.index = 3 } } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - getPression() - } +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { +// getPression() +// } } fun getPression() { diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java index 8eafc72..05a42e6 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java @@ -1,12 +1,17 @@ package com.arpa.hndahesudintocctmsdriver.ui.home; +import static com.sdk.base.framework.utils.app.AppUtils.getPackageName; + import android.Manifest; import android.content.Context; import android.content.Intent; import android.graphics.Outline; import android.location.Location; +import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Message; +import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.Gravity; @@ -1085,29 +1090,45 @@ public class HomeFragment extends BaseFragment { // } public void initAlct() { - PermissionX.init(getActivity()) - .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, - Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.RECORD_AUDIO) - .request((allGranted, grantedList, deniedList) -> { - if (allGranted) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + PermissionX.init(getActivity()) + .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION) + .request((allGranted, grantedList, deniedList) -> { + if (allGranted) { + ALProcess.verification(con); + } else { + boolean accessCoarseLocation = deniedList.contains("android.permission.ACCESS_FINE_LOCATION"); + boolean contains = deniedList.contains("android.permission.WRITE_EXTERNAL_STORAGE"); + if (accessCoarseLocation | contains) { + new MessageUtils().showSimCenPop(con, "缺少定位权限或媒体和文件权限,会导致无法结算运费,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + startActivity(intent); + }); + } - } else { + } + }); + } else { + ALProcess.verification(con); + } - } - }); - ALProcess.verification(con); - MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() { - @Override - public void onSuccess(Object o) { - Log.e("--成功信息--", new Gson().toJson(o)); - } - - @Override - public void onFailure(String s, String s1) { - Log.e("--失败信息--", s + s1); - } - }); +// ALProcess.verification(con); +// MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() { +// @Override +// public void onSuccess(Object o) { +// Log.e("--成功信息--", new Gson().toJson(o)); +// } +// +// @Override +// public void onFailure(String s, String s1) { +// Log.e("--失败信息--", s + s1); +// } +// }); } private MyLocationStyle myLocationStyle;//地图定位样式 diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java index ceedaf3..f2a9184 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java @@ -1,5 +1,7 @@ package com.arpa.hndahesudintocctmsdriver.ui.home; +import static com.sdk.base.framework.utils.app.AppUtils.getPackageName; + import android.Manifest; import android.app.Activity; import android.content.Intent; @@ -8,6 +10,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.provider.Settings; import android.text.Html; import android.text.Layout; import android.text.TextUtils; @@ -71,6 +74,7 @@ import com.arpa.hndahesudintocctmsdriver.util.time.Timer; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; +import com.permissionx.guolindev.PermissionX; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -479,10 +483,39 @@ public class HuoYunDelActivity extends BaseAppCompatActivity { * 先判断安联用户信息验证,随后接单 */ private void reOrder() { - customDialog = new CustomDialog(con, "正在接单..."); - customDialog.show(); - //验证安联用户是否通过 - ALProcess.verification(con, hd); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + PermissionX.init(this) + .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION) + .request((allGranted, grantedList, deniedList) -> { + if (allGranted) { + customDialog = new CustomDialog(con, "正在接单..."); + customDialog.show(); + //验证安联用户是否通过 + ALProcess.verification(con, hd); + } else { + boolean accessCoarseLocation = deniedList.contains("android.permission.ACCESS_FINE_LOCATION"); + boolean contains = deniedList.contains("android.permission.WRITE_EXTERNAL_STORAGE"); + if (accessCoarseLocation | contains) { + new MessageUtils().showSimCenPop(con, "缺少定位权限或媒体和文件权限,会导致无法结算运费,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + startActivity(intent); + }); + } + + } + }); + } + + +// customDialog = new CustomDialog(con, "正在接单..."); +// customDialog.show(); +// //验证安联用户是否通过 +// ALProcess.verification(con, hd); } } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/img/GetCarImageAlert.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/img/GetCarImageAlert.java index 5ef9f9e..521c09b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/img/GetCarImageAlert.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/img/GetCarImageAlert.java @@ -1,6 +1,11 @@ package com.arpa.hndahesudintocctmsdriver.util.img; +import static com.sdk.base.framework.utils.app.AppUtils.getPackageName; + import android.Manifest; +import android.content.Intent; +import android.net.Uri; +import android.provider.Settings; import android.view.Gravity; import android.view.View; import android.view.WindowManager; @@ -13,6 +18,7 @@ import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.arpa.hndahesudintocctmsdriver.R; +import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil; import com.permissionx.guolindev.PermissionX; @@ -56,12 +62,17 @@ public class GetCarImageAlert { } btn_xiangce.setOnClickListener(v -> { PermissionX.init(act) - .permissions(Manifest.permission.READ_EXTERNAL_STORAGE) + .permissions(Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE) .request((allGranted, grantedList, deniedList) -> { if (allGranted) { PicturlUtil.selectPicter(act, new ArrayList<>(), 1); } else { - Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); + new MessageUtils().showSimCenPop(act, "缺少媒体和文件权限,将无法选择照片,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + act.startActivity(intent); + }); } }); }); @@ -74,7 +85,12 @@ public class GetCarImageAlert { // file=ImageGetUtil.createImageFile(act); // ImageGetUtil.cameraAlbumGetImage(act,file); } else { - Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); + new MessageUtils().showSimCenPop(act, "缺少相机权限,将无法进行拍照或选择照片,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + act.startActivity(intent); + }); } }); }); @@ -86,7 +102,12 @@ public class GetCarImageAlert { if (allGranted) { openCam(act); } else { - Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); + new MessageUtils().showSimCenPop(act, "缺少相机权限,将无法进行拍照或选择照片,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + act.startActivity(intent); + }); } }); }