首页权限获取优化

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.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);

View File

@ -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() {

View File

@ -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;//地图定位样式

View File

@ -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);
}
}

View File

@ -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);
});
}
});
}