RxPermissions简单使用

2023-11-14

RxPermissions简单使用

描述:

随着社会的发展人们也开始重视对隐私的保护,谷歌也在Android6.0(sdk 23)增加了动态权限申请来保护广大用户的隐私,使我们开发者实现起来会很繁琐,代码量也会增多,但是对于程序员来说永远都是追求简单、简洁。今天给大家带来动态权限请求框架 RxPermissions,几行代码搞定动态权限申请,简直爽到爆。

1.添加依赖
在这里插入图片描述

 	// RxJava
    api 'io.reactivex.rxjava3:rxandroid:3.0.0'
    api "io.reactivex.rxjava3:rxjava:3.0.4"
    //rxpermissions
    api 'com.github.tbruyelle:rxpermissions:0.12' //权限请求框架

由于 rxpermissions在使用过程中需要用到RxJava 中的一些属性所以需要 添加另外连个依赖不然编译会报错。

// RxJava
api 'io.reactivex.rxjava3:rxandroid:3.0.0'
api 'io.reactivex.rxjava3:rxjava:3.0.4'

添加好依赖后点击右上角的 Sync Now即可。

2.上代码
上代码之前大家可以看一下我之前的一篇文章,对比一下简化了多少代码,

/***通过RxPermissions 框架来实现权限请求**/
   fun funCallbyframe(view: View) {
       rxPermissions = RxPermissions(this)
       rxPermissions!!.request(Manifest.permission.CALL_PHONE,Manifest.permission.READ_EXTERNAL_STORAGE).subscribe {
           if (it){
               call()
           }else{
               Toast.makeText(this,"请到设置中打开相应的权限,否侧影响正常操作",Toast.LENGTH_SHORT).show()
           }
       }
   }

10行代码搞定0.0
Demo下载
小白创作 感谢您的支持

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RxPermissions简单使用 的相关文章

  • Android Studio 如何检查哪个Imageview被点击并为其分配一个Int值?

    活动一 我有 12 个图像视图 用户单击其中任意一个 如果他们单击 ImageView 1 我们为其分配一个 int 值 image id 1 活动二 使用 If else 语句检查他们单击了哪个图像 Intent result inten
  • Android 中的振动器

    如何创建Vibrator对象并调用vibrate函数 http developer android com reference android os Vibrator html http developer android com refe
  • 如何获取firebase数据库中所有孩子的数据?

    我有这个 firebase 数据库 我需要获取用户的所有电话号码 我应该使用哪个侦听器来获取所有孩子 每个用户都作为一个对象添加 其中用户 ID 作为该对象的名称 我需要在不知道用户 ID 的情况下检索该对象 我搜索了文档 它与DataSn
  • Android:图形布局不起作用 - 不显示任何内容

    我的情况是 我曾经制作过一个android项目 2 2版本 但很快需要格式化我的电脑 格式化后 我再次下载了 eclipse 但是当我导入项目时 我无法使用 xml 的 图形布局 菜单 它没有向我显示如下图所示的任何内容 http img5
  • 如何使用 JavaScript 提高音频加载速度?

    我已经创建了播放代码 mp3使用 JavaScript 文件 但该文件在 Android 上播放需要很长时间 我想在点击文本图像后快速播放声音 如何提高 Android 的加载速度 我的 JavaScript 代码 if window au
  • 如何避免 Android 游戏中的时钟漏洞?

    我需要测量一段可以持续几个小时的时间 我假设执行此操作的正常方法是这样的 Date date new Date wait some time new Date getTime date getTime 但是用户是否可以将 Android 的
  • Gradle 同步失败:配置项目“:lib”时出现问题

    我正在尝试在 android studio 中构建一个项目 但它总是失败 并出现名为 org gradle api ProjectConfigurationException A problem occurred configuring p
  • 为什么mapbox-android sdk 无法从build.gradle 解析?

    我试图在这里设置基本教程 但我被 Android Studio 中的错误阻止 https docs mapbox com android maps overview install the maps sdk https docs mapbo
  • 使用 IntentService 使用 Camera2 拍照

    我正在尝试创建一个可以拍照但不显示预览的应用程序 使用本教程 https www youtube com watch v oPu42I0HSi4 https www youtube com watch v oPu42I0HSi4如果我使用和
  • 空对象引用上的 SupportMapFragment.getMap()

    在尝试了几乎所有方法之后 我似乎无法在不提取空对象引用的情况下 getmap 我试图将 google mapfragment 膨胀为一个片段 但是每次这样做时我总是保留一个 getmap null object 这是我的代码 我现在非常需要
  • Android EditText 和 SearchView:主要区别是什么(设计除外)?

    我需要在我的 Android 应用程序中实现一个搜索界面 该界面可以过滤多个RecyclerView里面一个ViewPager 我已经实现了EditText and SearchView小部件并尝试查看差异 我感兴趣的听众是 myEditT
  • 无法将库添加到我的 Android 项目

    我正在创建一个新应用程序 我想使用一些像这样的库 https github com JakeWharton Android ViewPagerIndicator https github com JakeWharton Android Vi
  • Android 视图可见性消失

    如果我设置了一个视图可见性 它被夸大了 消失了 它会加快我的 UI 速度吗 它将加快 UI 的实际绘制速度 因为 好吧 您不必再绘制它 但它仍然会膨胀 并且膨胀过程不会更快
  • 查找 ImageView 相对于其显示的图像的位置

    所以问题就在这里 我在 ImageView 中显示一个大图像 需要找到它相对于图像的位置 像这样 Image gt ImageView
  • Android 中 Admob 的 XML 或 Java 关键字

    我似乎找不到任何有关通过 XML 或 Java 设置 adMob 广告关键字的可靠文档 我已经尝试过中看到的方法this https stackoverflow com questions 5066129 android admob api
  • 在 Exif 中写入 XPKeywords

    我想在 Jpeg 图像中写入 XPKeywords 到目前为止 我正在使用 Sansaleen java api 在 Jpeg 图像中写入 Exif 标签 我能够编写大多数标签 例如主题 评论 作者 评级 但无法编写 Windows XP
  • 只需更新一个小部件 RemoteViews 而不是完全创建一个新小部件?

    在 AppWidgetProvider 类的 onUpdate 方法中 我最终执行了大量代码 以便我可以完全重新创建一个新的 RemoteView 对象 现实是 每次更新时 我实际上只需要在 RemoteView 中的 TextView 之
  • 找不到 `activityViewModels()` Hilt Android

    我在我的项目中使用 Hilt 和 MVVM 我想要一个viewModel from activityViewModel在 2 个活动中使用相同的内容 但我的 Android Studio 说未解析的参考 我的应用程序 build gradl
  • Android Studio MediaStore,低于 SDK 29 将图像保存在 SD 卡中失败

    我需要将图像保存在Android 10以下的sd card的图片目录中 我已经实现了范围存储 此代码适用于sdk 29及以上版本 因为MediaStore getExternalVolumeNames是在sdk 29中添加的 sdk 29以
  • 在活动之间共享菜单栏

    我的应用程序上有一个菜单栏 我需要在 5 个活动之间共享该菜单栏 我的菜单栏 5 个允许在活动之间切换的按钮 对于任何活动具有完全相同的 UI 和相同的行为 因此我想共享菜单栏 XML 视图代码和控制器代码 我已经找到了一种使用共享 XML

随机推荐

  • 【Android】Exam8 多线程

    文章目录 实验目的 题目 Code 实验目的 掌握采用Handler Thread编写多线程序 掌握AsyncTask编写多线程序的方法 题目 采用Handler Thread多线程方式编写程序一个模拟从网络下载文件的程序 点击 点击加载
  • 使用OpenCV工具包成功实现人脸检测与人脸识别,包括传统视觉和深度学习方法(附完整代码,吐血整理......)

    使用OpenCV工具包实现人脸检测与人脸识别 吐血整理 OpenCV实现人脸检测 OpenCV人脸检测方法 基于Haar特征的人脸检测 Haar级联检测器预训练模型下载 Haar 级联分类器 OpenCV Python实现 基于深度学习的人
  • sklearn pip install 安装失败

    看机器学习教程用sklearn然后我pip install 无论怎么安装都是失败的 后来查了一下之后发现是sklearn更名为scikit learn pip install scikit learn 就可以得到sklearn 库啦
  • Maven打包时去掉版本号及assembly id

    1 去掉版本号 在工程build配置中设置finalName project artifactId
  • sivalco使用测试pin正向导通

    在学完功率半导体器件后 为了能够更好的了解功率半导体器件内部的相关性质 于是利用sivalco软件进行仿真 对于器件工作时相关数据进行分析 对于相关语句进行学习 在功率半导体中以N或者P半导体进行掺杂获得我们所需要的器件 利用网格定义掺杂浓
  • 如何对基因组序列进行注释

    基因组组装完成后 或者是完成了草图 就不可避免遇到一个问题 需要对基因组序列进行注释 注释之前首先得构建基因模型 有三种策略 从头注释 de novo prediction 通过已有的概率模型来预测基因结构 在预测剪切位点和UTR区准确性较
  • fpga服务器系统设计,基于FPGA的服务器工作状态模拟测试系统设计

    摘要 随着近年来 信息化程度的不断加深 服务器得到了更为广泛的应用 服务器的用途变的越来越多样 功能也越来越强大 而服务器研发工作一直是困难重重 相比普通的个人电脑 服务器在安全性 稳定性和可管理性上有更高的要求 为服务器配置合适的管理机制
  • Pytorch入门学习——快速搭建神经网络、优化器、梯度计算

    我的代码可以在我的Github找到 GIthub地址 https github com QinghongShao sqh Pytorch Study 因为最近有同学问我如何Nerf入门 这里就简单给出一些我的建议 1 基本的pytorch
  • c++操作kafka

    通过调用librdkafka库实现操作kafka 消费者 1 include
  • sublime text3 英文版转为中文版

    简单几步 1 点击菜单栏中 preferences 弹出选项中找到 package control 2 弹出的框中输入 install package 3 弹出的框中在输入 localization 4 然后就汉化了
  • python下载安装教程(Python 3.10版本)

    目录 一 Python下载 二 Python安装 三 检查Python是否安装成功 今天换了新的电脑 需要重新安装python和PyCharm 就简单的写个教程吧 一 Python下载 1 进入Python官网 官网地址 https www
  • Nginx的跨域、alias、优化

    文章目录 root与alias 反向代理解决跨域 nginx的优化 基本配置优化 反向代理设置keepalive 压缩 缓存 操作系统优化 root与alias location alias app html index index htm
  • 计算机组成原理--基于Logisim的汉字的表示的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的汉字的表示 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim
  • Python 3.6 版本 Pytesseract 图像验证码识别 PyCharm 报错FileNotFoundError

    Python 3 6 版本 Pytesseract 图像验证码识别 本文首先先说下问题 在代码中引入Pytesseract块时 总是出现错误 程序代码很简单如下 from PIL import Image import pytesserac
  • 基于视觉的捡球机器人

    机器人通过自带的摄像头对散落在地上的乒乓球进行识别 随后进行拾取 本作品的主要难度在于如何在复杂的背景中准确地识别到乒乓球并跟踪 以及在识别到乒乓球后如何使机器人准确的向乒乓球运行 程序的链接http yueqiuchen blog 163
  • 五、pikachu之RCE

    文章目录 1 RCE概述 2 exec ping 3 exec evel 4 连接符 1 RCE概述 RCE emote command code execute 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码 从而控制后台系统
  • 算法——因子和阶乘

    题目描述 输入正整数n 2 lt n lt 100 把阶乘n 1x2x3x xn分解成素因子相乘的形式 从小到大输出各个素数 2 3 5 的指数 你的程序应忽略比最大素因子更大的素数 否则末尾会有无穷对个0 样例输入 5 53 样例输出 5
  • 跨域问题的原理分析

    一 什么是跨域 当页面来源url 的协议 域名 端口 跟页面发出请求获取后端数据的url 的协议 域名 端口 只有要一个不同时 即为跨域 举个例子 我当前先请求blog csdn net nav lang到csdn服务器获取到一个csdn的
  • Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServer

    错误原因 SpringApplication run 中的类名书写错误 应该是写成springboot启动类的类名而不是其他的 如下所示 我启动类的类名为Main 那么在run方法中应该为Main class而不是其它 SpringBoot
  • RxPermissions简单使用

    RxPermissions简单使用 描述 随着社会的发展人们也开始重视对隐私的保护 谷歌也在Android6 0 sdk 23 增加了动态权限申请来保护广大用户的隐私 使我们开发者实现起来会很繁琐 代码量也会增多 但是对于程序员来说永远都是