首页权限获取优化

This commit is contained in:
lijia 2024-10-25 15:54:13 +08:00
parent 96819e08b4
commit 3a44129b03
5 changed files with 112 additions and 32 deletions

View File

@ -13,6 +13,7 @@ import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.parts.AuthParts; import com.arpa.hndahesudintocctmsdriver.parts.AuthParts;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil; import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean; import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
import com.arpa.hndahesudintocctmsdriver.bean.FqBean; import com.arpa.hndahesudintocctmsdriver.bean.FqBean;
@ -42,6 +43,10 @@ public class ALProcess {
public static void verification(Context con){ public static void verification(Context con){
DriverAuthDataBean auth= AuthParts.getAuth(con); DriverAuthDataBean auth= AuthParts.getAuth(con);
if (auth==null){
return;
}
Identity idy=new Identity(); Identity idy=new Identity();
//企业代码 //企业代码
idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE); idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE);

View File

@ -129,9 +129,9 @@ class MainActivity : BaseAppCompatActivity() {
bt.index = 3 bt.index = 3
} }
} }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
getPression() // getPression()
} // }
} }
fun getPression() { fun getPression() {

View File

@ -1,12 +1,17 @@
package com.arpa.hndahesudintocctmsdriver.ui.home; package com.arpa.hndahesudintocctmsdriver.ui.home;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Outline; import android.graphics.Outline;
import android.location.Location; import android.location.Location;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
@ -1085,29 +1090,45 @@ public class HomeFragment extends BaseFragment {
// } // }
public void initAlct() { public void initAlct() {
PermissionX.init(getActivity()) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, PermissionX.init(getActivity())
Manifest.permission.READ_EXTERNAL_STORAGE, .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO) Manifest.permission.READ_EXTERNAL_STORAGE,
.request((allGranted, grantedList, deniedList) -> { Manifest.permission.ACCESS_FINE_LOCATION,
if (allGranted) { 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() {
ALProcess.verification(con); // @Override
MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() { // public void onSuccess(Object o) {
@Override // Log.e("--成功信息--", new Gson().toJson(o));
public void onSuccess(Object o) { // }
Log.e("--成功信息--", new Gson().toJson(o)); //
} // @Override
// public void onFailure(String s, String s1) {
@Override // Log.e("--失败信息--", s + s1);
public void onFailure(String s, String s1) { // }
Log.e("--失败信息--", s + s1); // });
}
});
} }
private MyLocationStyle myLocationStyle;//地图定位样式 private MyLocationStyle myLocationStyle;//地图定位样式

View File

@ -1,5 +1,7 @@
package com.arpa.hndahesudintocctmsdriver.ui.home; package com.arpa.hndahesudintocctmsdriver.ui.home;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
@ -8,6 +10,7 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.text.Html; import android.text.Html;
import android.text.Layout; import android.text.Layout;
import android.text.TextUtils; 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.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.permissionx.guolindev.PermissionX;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
@ -479,10 +483,39 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
* 先判断安联用户信息验证随后接单 * 先判断安联用户信息验证随后接单
*/ */
private void reOrder() { private void reOrder() {
customDialog = new CustomDialog(con, "正在接单..."); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
customDialog.show(); PermissionX.init(this)
//验证安联用户是否通过 .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
ALProcess.verification(con, hd); 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);
} }
} }

View File

@ -1,6 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.util.img; package com.arpa.hndahesudintocctmsdriver.util.img;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
@ -13,6 +18,7 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil; import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.permissionx.guolindev.PermissionX; import com.permissionx.guolindev.PermissionX;
@ -56,12 +62,17 @@ public class GetCarImageAlert {
} }
btn_xiangce.setOnClickListener(v -> { btn_xiangce.setOnClickListener(v -> {
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE) .permissions(Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
PicturlUtil.selectPicter(act, new ArrayList<>(), 1); PicturlUtil.selectPicter(act, new ArrayList<>(), 1);
} else { } 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); // file=ImageGetUtil.createImageFile(act);
// ImageGetUtil.cameraAlbumGetImage(act,file); // ImageGetUtil.cameraAlbumGetImage(act,file);
} else { } 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) { if (allGranted) {
openCam(act); openCam(act);
} else { } 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);
});
} }
}); });
} }