阿里云国际站充值:android api23以上权限控制

在 Android 6.0 (API 23) 及以上版本,权限模型有了很大的变化。在这之前我们需要在 Manifest 文件里面声明所有的权限,然后在安装的时候会被一次性授予。但是从 6.0 开始,一部分敏感权限的授予转变成了运行时权限,即应用在运行的时候请求用户授予相关权限。

这种方式肯定会为开发者带来一些困扰,如何在运行的时候权衡权限请求的时机,以及如何处理用户拒绝权限请求等,都是需要考虑的问题。

  1. 检查单个权限
    在具体的代码实现中,我们首先需要进行权限的检查,判断当前应用的权限是否已经被用户授权,这可以通过 ContextCompat.checkSelfPermission() 方法进行检查。
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
        // Permission is not granted
}
  1. 权限请求
    如果应用当前没有所需的权限,就需要对用户进行权限请求,Android 提供了 ActivityCompat.requestPermissions() 方法进行请求。

    ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
  2. 处理权限请求结果
    用户在权限对话框中做出授权或拒绝的操作后,系统会回调应用的 onRequestPermissionsResult() 方法,我们可以在这个方法中处理请求的结果。

    阿里云国际站充值:android api23以上权限控制
    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
     switch (requestCode) {
         case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
             if (grantResults.length > 0
                 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                 // permission was granted
             } else {
                 // permission denied
             }
             return;
         }
         // other cases
     }
    }

    这种变化,改变了用户的权限授予方式,也减小了用户的隐私泄露风险,让用户对自己的隐私有更多的掌控权。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/171805.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月25日 10:34
下一篇 2024年3月25日 10:49

相关推荐

  • 天津阿里云代理商:apache服务器的工作原理

    Apache服务器是一种常见的网络服务器,其基本工作原理大致如下: 用户访问网站: 当用户在浏览器中输入网址,例如www.example.com时,浏览器会将该请求发送到DNS服务器。DNS服务器将网址(域名)解析为IP地址。 连接服务器: 浏览器将请求发送到解析出的IP地址,也就是Apache服务器所在的位置。这个过程是通过Internet通过TCP/IP…

    2024年3月13日
    41200
  • 香港阿里云服务器

    香港阿里云服务器是指在香港地区提供的阿里云服务器服务。阿里云是阿里巴巴集团旗下的云计算服务提供商,提供了全球范围内的云计算服务。在香港地区,阿里云也提供了云服务器服务,用户可以租用虚拟机实例,以满足其云计算需求。香港阿里云服务器具有高性能、高可用性和灵活性等特点,适用于网站托管、应用部署、大规模计算等不同场景的需求。同时,阿里云还提供了一系列的辅助服务,如负…

    2023年10月22日
    42100
  • 许昌阿里云代理商:android 签名证书结构

    Android 签名证书结构主要由以下几个部分组成: 私钥:用于生成数字签名的私钥。私钥严格保管,不应公开。 公钥:由私钥生成的公钥,用于验证数字签名的准确性。公钥可以公开给他人使用。 数字签名:通过使用私钥对应的密钥对对应的信息进行签名生成的,用于验证信息的完整性和真实性。数字签名通常使用 PKCS#7 或者 JAR 签名格式。 X.509 证书:包含公钥…

    2024年2月12日
    41200
  • 云梦阿里云代理商:阿里云云数据库RDS MySQL的备份策略和恢复时间?

    阿里云云数据库RDS MySQL的备份策略和恢复时间如下: 备份策略: 自动备份:RDS MySQL每天都会自动进行备份,备份时间默认为凌晨0点。备份数据以二进制日志(Binlog)方式存储在云盘上。 用户备份:用户可以通过控制台或API手动创建备份,提供更灵活的备份策略。用户备份数据也会存储在云盘上。 恢复时间: 如果需要恢复单条记录,可使用备份数据的Bi…

    2023年11月21日
    44300
  • 镇江阿里云代理商:asp.net数据库

    镇江阿里云代理商提供了ASP.NET数据库的服务。ASP.NET是一个用于构建基于Web的应用程序的开发框架,而数据库是这些应用程序的关键组成部分。 作为阿里云代理商,他们可以帮助客户设计、配置和优化ASP.NET数据库,以确保其高性能、可靠性和安全性。他们可以提供以下服务: 数据库选择和部署:根据客户的需求和应用程序的规模,他们可以帮助客户选择适合的数据库…

    2023年12月17日
    39700

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/