Android动态申请权限(拨打电话)
Android权限大全:
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动态申请权限(拨打电话)相关推荐
- Unity2019中的android动态申请权限(Permissions)
请使用最新文章: Unity2022中的android权限处理(Permissions) 动态权限,权限弹窗 注意事项: 1.因为新规等因素需要提前弹出游戏自己的权限描述界面 2.玩家连续多次拒绝权限 ...
- android 动态申请权限_你真的了解Android权限机制吗?
码个蛋(codeegg)第 610 次推文 作者:FeelsChaotic 原文:https://www.jianshu.com/p/a17c8bed79d9 前言 Android将安全设计贯穿系统架 ...
- Qt for Android 动态申请权限
前言 Qt 随着版本的不断更新,提供了越来越多的接口用于移动端的开发,这里要说的是关于 Android 上权限动态申请的问题,直接在 C++端调用 Qt 的接口即可以实现. 正文 Qt 申请Andro ...
- android动态申请权限第三方库,Android 关于动态申请权限
第一种方式:引入三方库,利用第三方申请权限 1.引入三方库: api'com.tbruyelle.rxpermissions2:rxpermissions:0.9.3@aar' 2.调用(当然你需要什 ...
- Android如何动态申请权限(打电话)
Android动态申请权限(打电话) android 高版本有些权限除了在manifest文件中静态添加,还需要动态请求 具体请求方法如下(以拨打电话为例): 方法1: 这种方法是直接呼出电话 在ma ...
- android插件做动态权限,Mui本地打包笔记(四)Android自定义插件的配置(以动态申请权限为例)...
通过自定义插件方式实现Android平台的动态申请权限功能 在上一章中完成了在Mui中调用Android原生的动态权限请求功能(Android动态申请权限的问题).虽然说完成了功能,但是在使用上并不是 ...
- Android 6.0及以上版本动态申请权限,11权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {//安卓11文件权限// 先判断有没有权限if (Environment.isExter ...
- android动态申请悬浮框权限,Android创建悬浮窗的完整步骤
在Android中想要创建悬浮窗分为三步 1.申请权限 2.使用服务启动悬浮窗 3.设置悬浮窗参数并添加进WindowManager 下面话不多说了,来一起看看详细的实现过程 申请权限 首先需要申请悬 ...
- Android 动态申请应用权限
一.概述 Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户.在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运 ...
最新文章
- Codeforces Global Round 3 A. Another One Bites The Dust
- php源码仿三一重工,织梦仿三一重工业大学气企业网站php源码
- Java高级语法笔记-多个异常处理
- 带着canvas去流浪系列之八 碰撞
- CUDA算法——Stream and Event
- rpath失效是怎么回事
- 十五、CI框架之自动加载数据库
- 修复漏洞显示连接服务器失败,服务器安全狗漏洞补丁失败怎么办
- 支持wmv、mpg、mov、avi格式的网页视频播放代码
- 反向传播(Backpropagation)算法详解
- python太极代码_旋转的太极图动画源代码
- 技术负责人 vs产品负责人_产品前的人
- 用python创建及使用一个tls_Python使用TLSv1.2和Forward Secrecy粘贴SSL服务器
- 外设驱动步骤和K66SDK库与龙邱库TPM模块整合过程
- 基于用户电影评价的分析预测
- Scriptalert(“玄猫啊玄猫,玄猫要高考咯”)/script
- VRchat改模型相关
- Java并发插件_五分钟,轻松掌握Java并发编程!
- 在vue中使用wangEditor上传视频
- Revit二次开发中如何创建结构平面,修改结构平面的视图范围