当前课程知识点:Android应用开发基础 >  第七章 内容提供者ContentProvider >  7.1 Android运行权限 >  7.1 Android运行权限

返回《Android应用开发基础》慕课在线视频课程列表

7.1 Android运行权限在线视频

下一节:7.1 实践案例-拨打电话与发送短信

返回《Android应用开发基础》慕课在线视频列表

7.1 Android运行权限课程教案、知识点、字幕

本节我们介绍Android的运行权限

Android开发常常遇到的一个问题

就是在Android APP安装的过程中

会向用户请求一大堆权限

不同意不会让你安装

不知不觉中

也许有些敏感权限就这样被授予了

为了解决这个问题

Android6.0后推出了运行时权限

敏感权限在真正使用的时候会向用户提示

用户的安全性和隐私得到保护

仅仅需要做一些适配工作

如果设备运行的是Android 6.0

API级别23或更高版本

并且应用的targetSdkVersion

是23或更高版本

则应用在运行时向用户请求权限

用户可随时调用权限

因此应用在每次运行时

均需检查自身是否具备所需的权限

下图是Android 8.0上使用知乎的一个例子

如图所示

使用知乎的拍摄功能

依次会弹出相机权限

麦克风权限

用户运行程序获取权限后

如果要取消这些权限

可以进入设置的应用权限管理

取消知乎的相机和麦克风权限

谷歌将新的权限分为两类

一类是正常权限

比如联网

震动一类的

这类权限跟之前一样

清单文件声明后直接授予

另一类是危险权限

手机常用软件的权限管理如图所示

从微信 360手机助手

12306订票软件的权限管理可以看到

读取联系人

存储 位置 电话 相机 短信 传感器

麦克风 相机 定位等涉及用户隐私的

需要在使用时通知用户进行授权

安卓的权限组的名称如图所示

Android6.0之前用户安装app

只需要把app需要权限列表列出告知用户

app安装后都可以访问这些权限

在Android6.0之后

敏感权限可以动态申请

用户可以拒绝

已授予的权限

可以通过权限设置管理去关闭

对于开发者来说

必须对权限管理做适配

否则app访问容易出现崩溃的现象

Android的权限使用流程如图所示

应用如果需要使用权限

首先应该检查自己的权限

如果已被授予权限

则可以直接使用权限

如图没有被授予权限

可以向用户请求权限

用户同意后方可使用权限

下面我们以一个电话权限的使用实例

来讲解如何申请权限

如图所示

点击打电话按钮

由于用户没有权限

弹出权限申请界面

用户同意后进入拨打电话界面

拨打电话实例具体实现如下

第一 使用checkSelfPermission() 检查权限

请求某个权限时

检查这个权限是否已经被用户授权

已经授权的权限重复申请

可能会让用户产生厌烦

比如电话权限名称为

Manifest.permission.CALL_PHONE

函数返回值

与PackageManager.PERMISSION_GRANTED比较

一致则代表有权限

不一致代表没有权限

第二 使用requestPermissions()申请权限

调用后系统会显示一个

请求用户授权的提示对话框

App不能配置和修改这个对话框

如果需要提示用户这个权限相关的信息或说明

需要在调用requestPermissions() 之前处理

该方法有两个参数

第一 int requestCode

会在回调onRequestPermissionsResult()时返回

用来判断是哪个授权申请的回调

第二 String[] permissions

权限数组

你需要申请的的权限的数组

由于该方法是异步的

所以无返回值

当用户处理完授权操作时

会回调Activity或者Fragment的方法

第三 在Activity或者Fragment中

重写onRequestPermissionsResult()的方法

处理权限结果回调

当用户处理完授权操作时

系统会自动回调该方法

该方法有三个参数

1. int requestCode

在调用requestPermissions()时的第一个参数

2. String[] permissions

权限数组

在调用requestPermissions()时的第二个参数

3. int[] grantResults

授权结果数组

4. 获取权限后

使用系统Intent.ACTION_CALL值

来调用系统功能

那么这就是我们使用权限申请

来完成电话拨打的一个实例

Android应用开发基础课程列表:

课程教案

-1 Android应用开发基础-课程标准

-2 Android应用开发基础-教案

第一章 Android概述

-讨论:Android应用开发基础资源下载地址

-讨论的问题:华为“鸿蒙系统”会取代安卓吗?

-Android Studio4.1.2安装常用问题汇总2021.3.15

-1.1 Android概述

--1.1 Android概述

--1.1 Android Studio安装与配置-实践案例

-1.1 Android概述--作业

-1.2 Android程序

--1.2 Android程序

--1.2 第一个Android应用程序-实践案例

-1.2 Android程序--作业

-1.3 Android程序调试

--1.3 Android程序调试

--1.3 Android程序调试-实践案例

-1.3 Android程序调试--作业

-讨论-完成第一个Android程序需要多长时间?

第二章 Android视图

-讨论-什么是Activity?

-2.1 Activity概述

--2.1 Activity概述

--2.1.1 实践案例-Activity生命周期

--2.1.2 实践案例-Activity跳转和数据传递

-2.1 Activity概述--作业

-2.2 Activity应用

--2.2 Activity应用

--2.2 实践案例-Activity四种启动模式

-第2章 Android视图--2.2 Activity应用

-讨论-怎么理解常用的四种启动模式?

第三章 Android组件

-讨论:Android在五个常用布局外还有哪几种布局方式?

-3.1 Activity布局

--3.1 Activity布局

--3.1 实践案例-Android布局

-3.1 Activity布局--作业

-3.2 Android基础组件

--3.2 Android基础组件

--3.2.1 实践案例-文本和按钮组件

--3.2.2 实践案例-编辑框和进度条组件

-3.2 Android基础组件--作业

-3.3 Android中级组件

--3.3 Android中级组件

--3.3.1 实践案例-复选框和开关组件

--3.3.2 实践案例-单选框和图像组件

-3.3 Android中级组件--作业

-3.4 Android适配器

--3.4.1 系统适配器

--3.4.2 自定义适配器

--3.4.1实践案例-系统适配器

--3.4.2 实践案例-自定义适配器

-3.4 Android适配器--作业

-讨论-如何解决Android的布局嵌套问题的?

第四章 Android Fragment

-讨论:Fragment的优点?

-4.1 Fragment碎片组件

--4.1.1 Fragment静态加载

--4.1.2 Fragment与Activity通讯

--4.1.3 Fragment动态加载

--4.1.1 实践案例-Fragment静态加载

--4.1.2 实践案例-Fragment的动态加载

-4.1 Fragment碎片组件--作业

-4.2 ViewPager翻页类组件

--4.2.1 ViewPager翻页类组件

--4.2.2 引导页和标题栏

--4.2 实践案例-引导页和选项卡

-4.2 ViewPager翻页类组件--作业

-讨论:fragment与activity的生命周期有哪些不同?

第五章 广播

-讨论:Android广播有什么作用?

-5.1 Android广播概述

--5.1 Android广播概述

--5.1.1 实践案例-手机电量显示

--5.1.2 实践案例-手机充电状态显示

-5.1 Android广播概述--作业

-5.2 Android广播工作原理

--5.2 Android广播工作原理

--5.2.1 实践案例-手机网络状态显示

--5.2.2 实践案例-短消息接收

-5.2 Android广播工作原理--作业

-5.3 自定义广播

--5.3 自定义广播

--5.3 实践案例-自定义广播与有序广播

-第5章 广播--5.3 自定义广播

-5.4 有序广播

--5.4有序广播

--5.4.2 实践案例-登录广播-记住密码

--5.4.2 实践案例-登录广播-强制退出

-第5章 广播--5.4 有序广播

-讨论:广播的动态注册和静态注册有什么区别?

第六章 Android服务

-讨论:Android的服务有什么作用?

-6.1 系统服务概述

--6.1 系统服务概述

-6.1 系统服务概述--作业

-6.2 访问系统服务

--6.2 访问系统服务

--6.2 实践案例-通知服务

-6.2 访问系统服务--作业

-6.3 自定义服务

--6.3 自定义服务

--6.3.1 实践案例-启动服务

--6.3.2 实践案例-绑定服务

--6.3.3 实践案例-后台服务

-第6章 Android服务--6.3 自定义服务

-6.4 多线程

--6.4 多线程

--6.4.2 实践案例-MyService下载

--6.4.3 实践案例-MyIntentService

--6.4.4 实践案例-AsyncTask实现对话框下载

--6.4.5 实践案例-下载精灵

-第6章 Android服务--6.4 多线程

-讨论:Android中怎么启动Service?

第七章 内容提供者ContentProvider

-讨论:ContentProvide的作用是什么?

-7.1 Android运行权限

--7.1 Android运行权限

--7.1 实践案例-拨打电话与发送短信

-7.1 Android运行权限--作业

-7.2 URL URI概述

--7.2 URL URI概述

-第7章 内容提供者ContentProvider--7.2 URL URI概述

-7.3 ContentProvider概述

--7.3 ContentProvider概述

--7.3 实践案例-读取联系人

-第7章 内容提供者ContentProvider--7.3 ContentProvider概述

-7.4 访问通讯录

--7.4 访问通讯录

--7.4.1 实践案例-读取通讯录

--7.4.2 实践案例-添加通讯录

--7.4.3 实践案例-删除更改通讯录

-第7章 内容提供者ContentProvider--7.4 访问通讯录

-7.5 课后作业案例

--7.5.1 实践案例-文件管理器-查看

--7.5.2 实践案例-文件管理器-播放

-讨论:ContentProvide如何使用?

第八章 多媒体

-讨论:Android多媒体主要应用于哪些场景?

-8.1 相机服务

--8.1 相机服务

--8.1.1实践案例-拍照服务

--8.1.2 实践案例-相册服务

-8.1 相机服务--作业

-8.2 音视频服务

--8.2 音视频服务

--8.2.1实践案例-音乐播放

--8.2.2 实践案例-视频播放

-8.2 音视频服务--作业

-讨论:Android视频组件的使用流程?

第九章 网络技术

-讨论:为什么使用Json作为网络的通讯格式?

-9.1 网络服务概述

--9.1 网络服务概述

--9.1 实践案例-WebView和Http服务

-9.1 网络服务概述--作业

-9.2 网络框架

--9.2 网络框架

--9.2 实践案例-okhttp框架

-9.2 网络框架--作业

-9.3 Json

--9.3 Json

--9.3 实践案例-json协议

-第9章 网络技术--9.3 Json

-9.4 Volley

--9.4 volley

--9.4 实践案例-volley框架

-第9章 网络技术--9.4 Volley

-讨论:OkHttp和Volley的有什么区别?

第十章 数据存储

-讨论:Android的存储方式有哪几种?

-10.1 文件存储

--10.1 文件存储

--10.1.1 实践案例-文件读写布局

--10.1.2 实践案例-文件读写

--10.1.3 实践案例-SharedPreference文件读写

-10.1 文件存储--作业

-10.2 数据库存储

--10.2 数据库存储

--10.2.1 实践案例-Sqlite数据库操作布局

--10.2.2 实践案例-Sqlite数据库操作

-10.2 数据库存储--作业

-讨论:SQLite的基础操作的流程是什么?

课程实训(不计入考核)

-第1章 实训简介以及开发环境配置

--实训项目简介PPT以及实训指导书

--1.1 实训项目简介

--1.2 项目开发环境配置

-第2章 在线音乐播放器整体设计以及服务端开发

--在线音乐播放器整体介绍PPT以及服务端开发实训指导书

--2.1 在线音乐播放器-整体设计

--2.2 在线音乐播放器-服务端开发

-第3章 在线音乐播放器-客户端开发

--3.1 客服端开发实训指导书以及PPT

--3.2 客户端开发-讲课视频

-第4章 在线音乐播放器-完整版

--4.1 实训指导书以及PPT

--4.2 在线音乐播放器-完整版授课视频

-第5章 QQ聊天项目

--5.1 实训指导书以及PPT

--5.2 QQ聊天项目授课视频

-第6章 在线点餐系统

--6.1 实训指导书以及PPT

--6.2 在线点餐系统授课视频

7.1 Android运行权限笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。