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

嘉兴网站建设品牌升级设计师经常用的网站

嘉兴网站建设品牌升级,设计师经常用的网站,西安市城乡建设厅网站,10G网站空间1.引入依赖: implementation pub.devrel:easypermissions:3.0.0 2.在BaseActivity处理统一的结果回调和请求Code 核心内容: (1)处理Activity本身继承的方法onRequestPermissionsResult (2)实现接口EasyPermissions.PermissionCallbacks来接收请求结果 (3)定义申请权…

1.引入依赖:

implementation 'pub.devrel:easypermissions:3.0.0'

2.在BaseActivity处理统一的结果回调和请求Code

核心内容:

        (1)处理Activity本身继承的方法onRequestPermissionsResult        

        (2)实现接口EasyPermissions.PermissionCallbacks来接收请求结果

        (3)定义申请权限跳转带出去的Code(Int类型,合法范围0-255)

        (4)定义PermissionsCollBack是对结果返回的进一步简化 (非必须)

/***Author:XingHai.Zhao*Purpose: All Activity Father*/
abstract class BaseActivity : AppCompatActivity() , EasyPermissions.PermissionCallbacks{var mPermCodeBLE: Int = 11var mPermCodeAUDIO: Int = 12// 用户给予相关权限成功后的回调override fun onRequestPermissionsResult(requestCode: Int,permissions: Array<String>,grantResults: IntArray) {super.onRequestPermissionsResult(requestCode, permissions, grantResults)// 进一步使用 EasyPermissions 处理后续结果EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)}override fun onPermissionsGranted(requestCode: Int, perms: MutableList<String>) {// 授予权限mPermissionsCollBack?.let {it.permissionsYes(requestCode)}}override fun onPermissionsDenied(requestCode: Int, list: List<String?>) {// 请求权限被拒mPermissionsCollBack?.let {it.permissionsNo(requestCode)}}var mPermissionsCollBack: PermissionsCollBack? = nullinterface PermissionsCollBack {fun permissionsYes(code: Int) //获取授权成功fun permissionsNo(code: Int) //获取授权成功}// 获取蓝牙相关的权限fun getBlePerm(): Array<String> {return when {Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> arrayOf(Manifest.permission.BLUETOOTH_SCAN,Manifest.permission.BLUETOOTH_CONNECT,Manifest.permission.BLUETOOTH_ADVERTISE,Manifest.permission.ACCESS_FINE_LOCATION)Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q -> arrayOf(Manifest.permission.BLUETOOTH_ADMIN,Manifest.permission.ACCESS_FINE_LOCATION)else -> arrayOf(Manifest.permission.BLUETOOTH_ADMIN,Manifest.permission.ACCESS_FINE_LOCATION)}}// 获取录音和前台服务权限fun getAudioPerm(): Array<String> {val permissions = mutableListOf<String>()// 添加录音权限permissions.add(Manifest.permission.RECORD_AUDIO)// 根据 Android 版本添加前台服务权限if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {permissions.add(Manifest.permission.FOREGROUND_SERVICE)}return permissions.toTypedArray()}}


3具体请求用蓝牙举例:

        //权限判断,第一次弹出系统的授权提示框if (EasyPermissions.hasPermissions(this, *getBlePerm())) {if (!BluetoothAdapter.getDefaultAdapter().isEnabled) {//打开蓝牙开关startActivity(Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE))}// 有权限  直接执行---在这里执行下一步操作 用蓝牙举例的话 这里要开启蓝牙搜索} else {// 没有权限,进行权限请求EasyPermissions.requestPermissions(this,getString("需要赋予相关权限,方能正常使用该功能!"),mPermCodeBLE,*getBlePerm())}mPermissionsCollBack = object :PermissionsCollBack{override fun permissionsYes(code: Int) {---在这里执行下一步操作 用蓝牙举例的话 这里要开启蓝牙搜索}override fun permissionsNo(code: Int) {}}
 

http://www.ds6.com.cn/news/4791.html

相关文章:

  • wordpress添加自定义导航栏许昌seo公司
  • 高端品牌网站开发如何做市场推广方案
  • 做网站需要竞品分析么百度电视剧风云榜
  • 做国内网站阿里云怎么样seo综合诊断工具
  • 宁波网站建设七米济南网站建设公司
  • 个人网站作品欣赏电商网站定制开发
  • wordpress 密码不对包头seo
  • 中山公司网站制作水果网络营销策划书
  • 苏州做网站公司精选苏州聚尚网络绍兴百度推广优化排名
  • 手机算命网站建设湖南网站推广
  • 网站建设的研发项目中国万网域名注册官网
  • 网站设计要点 优帮云百度网址大全电脑版旧版本
  • 网站优化意义快速开发平台
  • 化学产品在哪个网站做推广最好自己怎么做网页推广
  • 行业网站建设哪家好网络营销课程学什么
  • 容易做的网站百度客服联系方式
  • 建筑公司网站功能表搜索引擎优化培训免费咨询
  • 开发深圳网站建设百度广告点击软件源码
  • wordpress国内网站吗优化措施最新回应
  • 互联网app推广工作怎么样自建站seo如何做
  • 服务网点网站建设2345浏览器
  • 查询建设资质的网站电子商务网站建设方案
  • 网站建设代码标准电商运营推广的方式和渠道有哪些
  • 微信公众号申请网站品牌策略
  • 深圳响应样式网站建设费用人民日报最新消息
  • 成都建设局网站策划网络营销活动
  • 贵州建设网站seo推广软件排名
  • 莫名接到网站建设电话矿产网站建设价格
  • 太原做网站兼职seo收费
  • 雄安新区做网站公司软文代写发布网络