当前位置: 首页 > news >正文

Android Kotlin请求权限及权限回调处理

class MainActivity : AppCompatActivity()  {// 请求权限的标识private val REQUEST_PERMISSIONS_CODE = 100// 需请求的权限private val REQUIRED_PERMISSIONS = arrayOf(Manifest.permission.INTERNET,Manifest.permission.WRITE_EXTERNAL_STORAGE)// 检查权限private fun allPermissionsGranted(): Boolean {// 检查权限是否已授权val internetGranted = ContextCompat.checkSelfPermission(baseContext, Manifest.permission.INTERNET) == PackageManager.PERMISSION_GRANTED// 仅在特定版本检查授权,否则按已授权处理val storageGranted = if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {ContextCompat.checkSelfPermission(baseContext, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED} else {true}return internetGranted && storageGranted}// 授权结果处理override fun onRequestPermissionsResult(requestCode: Int,permissions: Array<out String>,grantResults: IntArray) {super.onRequestPermissionsResult(requestCode, permissions, grantResults)// 仅处理有对应权限标识的逻辑if (requestCode == REQUEST_PERMISSIONS_CODE) {// 再次检查是否所有权限已授权if (allPermissionsGranted()) {doSomething()} else {Toast.makeText(this, "权限被拒绝,应用无法正常工作", Toast.LENGTH_LONG).show()finish()}}}public override fun onStart() {super.onStart()// 检查是否所有权限已授权if (allPermissionsGranted()) {doSomething()} else {// 存在未授权的权限时请求获取权限ActivityCompat.requestPermissions(this, REQUIRED_PERMISSIONS, REQUEST_PERMISSIONS_CODE)}}
}
http://www.zskr.cn/news/2123.html

相关文章:

  • 你好
  • Docker下载和安装-FOR Windows10版本
  • SLB和NAT网关的作用
  • linux 系统下iperf 测试网卡性能优化步骤
  • 笔记-每天进步一点
  • 【初赛】时间复杂度 - Slayer
  • PHP 性能优化实战 OPcache + FPM 极限优化配置
  • CSP 初赛整理
  • RST报文段的意义
  • Delphi TStringGrid控件学习笔记
  • Java第一次实验
  • HCIP回顾— BGP经典实验详解
  • 千靶日记-0002
  • 3.4 页面替换算法 Page Replacement Algorithms
  • Tekla坐标定位插件源码
  • K8S常见的微服务中间件部署之strom
  • 三种语句
  • ECT-OS-JiuHuaShan框架:自然规律的具象化智能体(附《易经》类比解析)
  • 力扣第5题最长回文子串
  • 用 Python 和 PaddleOCR 进行验证码识别
  • UniApp 自定义tabBar
  • 判断左手坐标系和右手坐标系的方法
  • 题解:P2012 拯救世界2
  • 题解:CF348C Subset Sums
  • 题解:CF2118D1 Red Light, Green Light (Easy version)
  • 27届春招备战一轮复习--第五期
  • 阅读方式
  • 软件测试工程师的职业天花板在哪里?如何突破?
  • 长乐一中 CSP-S 2025 提高级模拟赛 Day2
  • 费用流