92、App Permissions(权限管理)实例

•Manifest权限声明

•Permission Groups-权限组

•权限的区分-安装时授权于运行时授权

•撤销权限

•检查、请求权限

•在应用中如何合理的处理权限请求逻辑

在AndroidManifest.xml中配置权限。

 <!-- 照相机权限 -->
 <uses-permission android:name="android.permission.CAMERA"/>
 1 public class MainActivity extends Activity {
 2
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.activity_main);
 8
 9         findViewById(R.id.txt_getcamera).setOnClickListener(new View.OnClickListener() {
10             @Override
11             public void onClick(View view) {
12                 getCamera();
13             }
14         });
15     }
16
17     // 获取相机的方法
18     private void getCamera() {
19         // MNC 代表的就是 Android M 的版本号。
20         if (Build.VERSION.CODENAME.equals("MNC")) {
21             // 如果拥有权限的话
22             if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
23                 opCamera();
24             } else {  // 如果没有权限,请求 照相机的 权限。
25                 requestPermissions(new String[]{Manifest.permission.CAMERA}, 1);
26             }
27         } else {
28             opCamera();
29         }
30     }
31
32     // 选择相应的权限,系统会弹出一个对话框让用户选择权限,权限的结果返回,需要此回掉的方法。
33     @Override
34     public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
35         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
36
37         if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
38             Toast.makeText(MainActivity.this, "已获取权限", Toast.LENGTH_SHORT).show();
39             opCamera();
40         } else {
41             Toast.makeText(MainActivity.this, "您拒绝了我", Toast.LENGTH_SHORT).show();
42         }
43     }
44
45     private void opCamera() {
46         Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
47         startActivityForResult(intent, 1009);
48     }
49
50 }
时间: 2024-10-08 23:11:19

92、App Permissions(权限管理)实例的相关文章

php权限管理实例(未完)

QuanXian.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&

Android权限管理知识学习记录

一.Android权限背景知识 在Android 6.0之前,所申请的权限只需要在AndroidManifest.xml列举就可以了,从而容易导致一些安全隐患,因此,在Android 6.0时,Google为了更好的保护用户隐私提出了新的权限管理机制,同时将其分为两大类: (1)Normal Permissions Normal Permission一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动,访问网络等. (2)Dangerous Permission Dangerous Perm

Android各大手机系统打开权限管理页面

最近项目上比较忙,终于有空闲时间写写东西了. 相信做过Android的都知道,现在的手机系统五花八门,当我们去请求用户的权限的时候,总是会弹出是否允许的对话框. 而且用户一旦不小心点了拒绝,下次就不再询问了,而很多小白用户也不知道怎么去设置.这就导致了很不好的用户体验. 经过研究,我发现像小米,魅族,这些满大街的系统,都是可以通过隐式意图打开权限设置页面的. 这里指的是自身app的权限管理页面 之前已经有人写过类似的文章,不过都比较分散,我这里把这些方法总结了一下. 不多说,直接上代码. 首先是

Android 权限管理(持续整理)

1. Android 6.0之后,APP直接安卓,运行时询问用户授予相关权限,此时系统弹出一个对话框,(这个对话框不能由开发者定制) 同时用户也可以在手机的"设置"中对于某个App进行权限管理 注意:这个对话框不是系统自动弹出,而是开发者在调用必须用户授权的方法时,在调用之前检查(如果有授权直接调用)并请求用户权限,否则可能因没有授权而直接程序崩溃 重点:在某一个需要用户权限的地方检查并请求用户权限,否则程序崩溃 2. 权限分类 是否涉及用户隐私,权限分为两类:第一类不涉及隐私,在Ma

用最基本的EF+MVC+JQ+AJAX+bootstrap实现权限管理的简单实例 之登陆和操作权限

先来一堆关于上篇文章的废话(不喜者点此隐藏) 今天把博客加了个小功能,就是点标题可以隐藏或展示相关内容,做法很傻,就是引用了bootstrap的两个css类和全部的js文件,其实这样的小功能完全应该自己做的,主要还是因为前端差,还有就是懒.请大家不要太过在意命名和前端样式,我并没有进入公司工作,命名没有具体规范,都是随心所欲.前端实在太差,如果你觉得颜色样式太差,只能说明我的审美有问题,咱们主要看功能实现. 上篇文章发布后有一定的推荐量和浏量,对一个初学者来说,自认为还是挺不错的.最主要的是收到

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(6)- EF上下文实例管理

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(6)- EF上下文实例管理 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现 前言:通过前面的五篇博客我们已经对权限系统的后台架构进行了详细的说明,那么我再前面的博客中也说到了我们的后台架构还会再改的,我准备这段时间我们继续完善我们的后台

ubuntu用户管理与权限操作实例

ubuntu用户管理与权限操作实例 昨天在转载此文时提到都要把文件及目录权限的操作也会独立成文来给大家介绍,今天特地学习了用户管理和权限操作的例程,现总结如下.这些命令基本都是我在自己电脑上运行过后能够实现此功能,我才把他们加进来,希望对大家有所帮助,也希望和大家多交流^_^ 一个实例 例子:假设有两个用户bill和jane,他们都有音乐CD集,并要创建一个共享目录,在该目录下他们各自存储自己的音乐文件.此时用户bill通过sudo获得了超级用户权限. 首先,创建一个以bill和jane为成员的

Linux/Centos7账号与权限管理(超详细实例操作)

Linux/Centos7账号与权限管理 管理用户账号.组账号 查询账号信息 设置文件和目录的权限 设置文件和目录的归属 一.前言概述 ? 作为多用户.多任务(Multi-Users,Multi-tasks)的服务器操作系统,Linux提供了严格的权限管理机制,主要从用户身份.文件权限两个方面对资源进行限制.Linux基于用户身份对资源访问进行控制. 用户账号类别: 超级用户--root,权限最高 普通用户--自定义用户 匿名用户(nobody)类似于Windows中的Guest 程序用户--控

一款集代码生成器+权限管理+工作流+报表工具+APP小程序于一体的敏捷开发框架

XJR敏捷开发框架是一套集代码生成器+通用权限管理+工作流+即时通讯+报表工具+手机APP小程序开发于一体的敏捷开发框架.拖拽拉可视化操作配置,降低开发难度和缩短开发周期,提高80%以上的工作效率,提供源码,可无线扩展,轻松开发CRM.OA.ERP.WMS.小程序.电商管理后台等各种企业管理系统. 以下是这个敏捷开发框架的一些阐述: 技术特点 技术选型: 使用目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,Web

Android获取设备隐私 忽略6.0权限管理

1.前言 (1).由于MIUI等部分国产定制系统也有权限管理,没有相关api,故无法判断用户是否允许获取联系人等隐私.在Android 6.0之后,新增权限管理可以通过官方api判断用户的运行状态: (2).我们指定targetSdkVersion为23或者之后我们还需要在运行时请求这些所需的权限.这很重要,因为已经出现了很多开发者把targetSdkVersion飙到了最新,然后发现自己的app疯狂的崩溃,这是由于他们没有实现执行运行时权限请求的代码.当你已经把一个targeting API