当前课程知识点:Android应用开发基础 > 第七章 内容提供者ContentProvider > 7.1 Android运行权限 > 7.1 实践案例-拨打电话与发送短信
本节主要介绍Android运行权限
并通过实例来介绍如何使用电话权限和短信权限
下面介绍电话权限申请实例
首先创建一个应用程序
设置应用程序的名字
在AndroidManifest.xml文件中添加拨打电话权限
进入布局文件
删除默认组件
修改布局类型为线性布局LinearLayout
切换到design模式
新建Button组件
设置id为btn_call
设置文本为make call
选中activity_main布局文件
点击右键选择Generate,选中LayoutCreator
自动生成组件初始化代码
onClick方法中
使用ActivityCompat.checkSelfPermission检查权限
是否被授权.第一个参数为当前上下文
第二个参数为拨打电话的权限
如果拨打电话权限没有被授权
使用ActivityCompat.requestPermissions
请求权限
第一个参数为当前上下文
第二个参数为拨打电话权限的字符串数组
请求码为1
如果拨打电话权限被授权后,创建call方法
按住alt+enter实现未实现方法
在try,catch异常语句中定义Intent
设置Action属性为Intent.ACTION_CALL
为Intent设置DATA属性
启动活动意图
catch中抛出权限被拒绝的异常
实现回调函数onRequestPermissions方法
使用switch case语句
如果requestCode等于1
如果权限授权,调用call方法
如果权限没有授权,使用Toast提示
You denied the permissions
使用break结束当前case执行
default情况下程序执行完毕
代码编写完成后运行程序
点击按钮,allow允许权限申请
实现了拨打10086电话的功能
下面通过实例介绍如何申请发送短信权限
首先创建一个应用程序
设置应用程序的名字
在AndroidManifest.xml文件中发送短信的权限
进入布局文件
删除默认组件
修改布局类型为线性布局LinearLayout
切换到design模式
新建Button组件
设置id为tv_sms
设置文本为send sms
选中activity_main布局文件
点击右键选择Generate,选中LayoutCreator
自动生成组件初始化代码
onClick方法中,新建DealSms方法 按住
alt+enter实现未实现方法 使用
使用ActivityCompat.checkSelfPermission 检查权限是否被授权
第一个参数为当前上下文 第二个参数为发送短信权限
如果发送短信权限没有被授权
使用ActivityCompat.requestPermissions请求权限
第一个参数为当前上下文
第二个参数为发送短信权限的字符串数组
请求码为2
如果发送短信权限被授权后
创建sendsms方法,实现未实现方法
在try,catch异常语句中定义Uri对象
给10086发送短信
定义意图
直接跳转到给10086发送短信的界面
开启意图
catch中会抛出权限被拒绝的异常
实现回调函数onRequestPermissions方法
使用switch-case语句
如果requestCode等于2
如果权限授权 ,调用sendsms方法
如果权限没有授权,使用Toast提示
You denied the permissions
定义意图跳转应用程序列表界面
定义Uri对象
为Intent设置DATA属性
启动意图
break程序执行完毕
default情况下程序执行完毕
修改文本信息为send_sms
代码编写完成后运行程序
点击按钮,allow允许权限申请
实现了给10086发送短信的功能
这就是使用Android的应用权限拨打电话和发送短信的全部内容
请大家按照讲课的内容完成Android的运行权限的申请
在Android的手机和模拟器中分别运行
通过实例理解使用Android的运行权限
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统