• Android 12.0系统申请动态权限之高德定位


    1、添加权限: 为了使用地图功能,您需要在AndroidManifest.xml文件中声明相应的权限,例如定位和网络访问权限。以下是一个示例:

    1. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    2. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    2、请求运行时权限: 您需要在运行时请求敏感权限,包括定位权限。您可以使用ActivityCompat类来请求这些权限。首先,检查应用是否具有所需的权限,然后请求缺少的权限。示例如下: 

     public static final int REQUEST_LOCATION_PERMISSION = 5555;
    1. // 检查是否具有定位权限
    2. if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    3. // 如果没有权限,请求定位权限
    4. ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.READ_PHONE_STATE}, REQUEST_LOCATION_PERMISSION);
    5. } else {
    6. // 如你需要的操作
    7. }

    3、处理权限请求结果: 在onRequestPermissionsResult方法中处理权限请求的结果,根据用户的响应来执行相应的操作。

    1. @SuppressLint("MissingSuperCall")
    2. @Override
    3. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    4. if (requestCode == REQUEST_LOCATION_PERMISSION) {
    5. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    6. // 权限已经被授予
    7. } else {
    8. // 权限被拒绝
    9. ToastUtils.showMessage("权限被拒绝");
    10. }
    11. }
    12. }
    亲测有效,欢迎看完,谢谢!
  • 相关阅读:
    Python123 期末题库
    我的周刊(第056期)
    报时机器人的rasa shell执行流程分析
    P1803 凌乱的yyy / 线段覆盖 【贪心】
    虚拟机Ubuntu扩展磁盘大小
    约数——正约数个数求法及其原理,求N的正约数集合
    基于高性能商用密码的电信领域防护实践
    【Java】控制语句学习笔记
    el-upload 上传&表单校验成功后再触发上传
    Spring学习笔记11 GoF代理模式
  • 原文地址:https://blog.csdn.net/sinat_15411661/article/details/132920547