Android权限大全:

https://www.cnblogs.com/diyishijian/p/5629545.html

Android权限有上百个,那么我们如何在调用权限的时候,判断app是否被授予某项权限呢,所以这时候就需要动态去获取权限了,如果该权限已被赋予,就能直接使用该功能,否则就需要去申请权限。

这里只需要三个方法,就可以搞定以上的问题,我这里将方法写在BaseActivity中,需要的时候调用就可以了。

BaseActivity中的代码

    public static final int REQUEST_CALL_PERMISSION = 10111; //拨号请求码/*** 判断是否有某项权限* @param string_permission 权限* @param request_code 请求码* @return*/public boolean checkReadPermission(String string_permission,int request_code) {boolean flag = false;if (ContextCompat.checkSelfPermission(this, string_permission) == PackageManager.PERMISSION_GRANTED) {//已有权限flag = true;} else {//申请权限ActivityCompat.requestPermissions(this, new String[]{string_permission}, request_code);}return flag;}/*** 检查权限后的回调* @param requestCode 请求码* @param permissions  权限* @param grantResults 结果*/@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {switch (requestCode) {case REQUEST_CALL_PERMISSION: //拨打电话if (permissions.length != 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) {//失败Toast.makeText(this,"请允许拨号权限后再试",Toast.LENGTH_SHORT).show();} else {//成功call("tel:"+"10086");}break;}}/*** 拨打电话(直接拨打)* @param telPhone 电话*/public void call(String telPhone){if(checkReadPermission(Manifest.permission.CALL_PHONE,REQUEST_CALL_PERMISSION)){Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse(telPhone));startActivity(intent);}}

子类Activity中的代码

在需要的地方直接调用call()方法:

call("tel:"+phone);

AndroidManifest中添加权限

权限是必不可少,不要忘记在项目清单文件中添加权限。

<uses-permission android:name="android.permission.CALL_PHONE"/>

结果:

Android动态申请权限(拨打电话)相关推荐

  1. Unity2019中的android动态申请权限(Permissions)

    请使用最新文章: Unity2022中的android权限处理(Permissions) 动态权限,权限弹窗 注意事项: 1.因为新规等因素需要提前弹出游戏自己的权限描述界面 2.玩家连续多次拒绝权限 ...

  2. android 动态申请权限_你真的了解Android权限机制吗?

    码个蛋(codeegg)第 610 次推文 作者:FeelsChaotic 原文:https://www.jianshu.com/p/a17c8bed79d9 前言 Android将安全设计贯穿系统架 ...

  3. Qt for Android 动态申请权限

    前言 Qt 随着版本的不断更新,提供了越来越多的接口用于移动端的开发,这里要说的是关于 Android 上权限动态申请的问题,直接在 C++端调用 Qt 的接口即可以实现. 正文 Qt 申请Andro ...

  4. android动态申请权限第三方库,Android 关于动态申请权限

    第一种方式:引入三方库,利用第三方申请权限 1.引入三方库: api'com.tbruyelle.rxpermissions2:rxpermissions:0.9.3@aar' 2.调用(当然你需要什 ...

  5. Android如何动态申请权限(打电话)

    Android动态申请权限(打电话) android 高版本有些权限除了在manifest文件中静态添加,还需要动态请求 具体请求方法如下(以拨打电话为例): 方法1: 这种方法是直接呼出电话 在ma ...

  6. android插件做动态权限,Mui本地打包笔记(四)Android自定义插件的配置(以动态申请权限为例)...

    通过自定义插件方式实现Android平台的动态申请权限功能 在上一章中完成了在Mui中调用Android原生的动态权限请求功能(Android动态申请权限的问题).虽然说完成了功能,但是在使用上并不是 ...

  7. Android 6.0及以上版本动态申请权限,11权限

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {//安卓11文件权限// 先判断有没有权限if (Environment.isExter ...

  8. android动态申请悬浮框权限,Android创建悬浮窗的完整步骤

    在Android中想要创建悬浮窗分为三步 1.申请权限 2.使用服务启动悬浮窗 3.设置悬浮窗参数并添加进WindowManager 下面话不多说了,来一起看看详细的实现过程 申请权限 首先需要申请悬 ...

  9. Android 动态申请应用权限

    一.概述 Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户.在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运 ...

最新文章

  1. Codeforces Global Round 3 A. Another One Bites The Dust
  2. php源码仿三一重工,织梦仿三一重工业大学气企业网站php源码
  3. Java高级语法笔记-多个异常处理
  4. 带着canvas去流浪系列之八 碰撞
  5. CUDA算法——Stream and Event
  6. rpath失效是怎么回事
  7. 十五、CI框架之自动加载数据库
  8. 修复漏洞显示连接服务器失败,服务器安全狗漏洞补丁失败怎么办
  9. 支持wmv、mpg、mov、avi格式的网页视频播放代码
  10. 反向传播(Backpropagation)算法详解
  11. python太极代码_旋转的太极图动画源代码
  12. 技术负责人 vs产品负责人_产品前的人
  13. 用python创建及使用一个tls_Python使用TLSv1.2和Forward Secrecy粘贴SSL服务器
  14. 外设驱动步骤和K66SDK库与龙邱库TPM模块整合过程
  15. 基于用户电影评价的分析预测
  16. Scriptalert(“玄猫啊玄猫,玄猫要高考咯”)/script
  17. VRchat改模型相关
  18. Java并发插件_五分钟,轻松掌握Java并发编程!
  19. 在vue中使用wangEditor上传视频
  20. Revit二次开发中如何创建结构平面,修改结构平面的视图范围

热门文章

  1. 你知道中午十二点的食堂是什么样子吗?
  2. SQL函数类型及函数使用大全
  3. QT + C++《QlistWidget 的基本运用》
  4. matlab建模电风扇,关于matlab调速风扇
  5. BCB 与 WTL (二)
  6. 拒绝语言暴力 不做孩子的差评师(转自中国文明网)
  7. Keil 官网下载PACK包的地址
  8. Android 点击事件,如何在界面上或者某个控件上添加点击事件
  9. 设计模式之---工厂模式、建造者模式
  10. 生信漫谈如何利用MEGA7构建系统进化树