文档章节

Android 6.0(API23)权限申请问题

壹峰
 壹峰
发布于 2017/01/19 09:17
字数 212
阅读 18
收藏 0

1.在API23+以上,不止要在AndroidManifest.xml里面添加权限

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

2.还要在JAVA代码中请求权限:

// Storage Permissions
      private static final int REQUEST_EXTERNAL_STORAGE = 1;
      private static String[] PERMISSIONS_STORAGE = {
              Manifest.permission.READ_EXTERNAL_STORAGE,
              Manifest.permission.WRITE_EXTERNAL_STORAGE };
  
      /**
       * Checks if the app has permission to write to device storage
       * 
      * If the app does not has permission then the user will be prompted to
      * grant permissions
      * 
      * @param activity
      */
     public static void verifyStoragePermissions(Activity activity) {
         // Check if we have write permission
         int permission = ActivityCompat.checkSelfPermission(activity,
                 Manifest.permission.WRITE_EXTERNAL_STORAGE);
 
         if (permission != PackageManager.PERMISSION_GRANTED) {
             // We don't have permission so prompt the user
             ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,
                     REQUEST_EXTERNAL_STORAGE);
         }
     }

3.处理权限请求响应

@Override
public void onRequestPermissionsResult(int requestCode,
        String permissions[], int[] grantResults) {
    switch (requestCode) {
        case REQUEST_EXTERNAL_STORAGE: {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                // permission was granted, yay! Do the
                // contacts-related task you need to do.
                //通过时
            } else {
    
                // permission denied, boo! Disable the
                // functionality that depends on this permission.
                //拒绝是处理
            }
            return;
        }

        // other 'case' lines to check for other
        // permissions this app might request
    }
}

官方例子。

https://developer.android.com/training/permissions/requesting.html

© 著作权归作者所有

壹峰
粉丝 9
博文 595
码字总数 9582
作品 0
广州
其他
私信 提问
Android 6.0 创建文件夹失败问题

华为P9是android 6.0 的== 在API23+以上也就是安卓6.0以上的,进行了权限管理 不止要在AndroidManifest.xml里面添加权限 ` `

Nobodyhi
2017/01/17
2
0
SpUtil多样加密存储,兼容android9.0

前言 在android系统不断升级的过程中,Sharepreferences存储出现多中问题,其中有些是读写权限造成,有些是因为加密问题引起。下面介绍下SpUtil这个工具类,它是在Sharepreferences基础上进行...

奔跑的佩恩
03/08
0
0
Android TrafficStats流量监控

一、流量监控TrafficStats 对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析。android.net...

IamOkay
2014/11/14
1K
0
Android位置权限以及数组寻找索引的坑

填坑与求解惑来的。 一、Android 危险权限,来自官方文档的坑??? Android开发者都知道,Android 6.0 之前,权限申请只需要在 AndroidManifest.xml 文件中声明就可以。Android 6.0 开始,权...

SharpCJ
2018/07/26
0
0
你要的适配全都在这里了—基于Android6.0~9.0

前言 大家还记得Android 6.0权限适配的泪水吗?而现在谷歌已经出了Android P的稳定版,而且谷歌粑粑,为了大家能给辛苦熬夜加班,特地的和个大市场合作,要强制推出9.0的适配,而近期在下不才...

Mr_zebra
2018/11/27
13
1

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
11
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部