当前位置: 首页> 教育> 锐评 > 广州做网站公司排名_东莞网络营销优化_软文是什么意思通俗点_sem扫描电子显微镜

广州做网站公司排名_东莞网络营销优化_软文是什么意思通俗点_sem扫描电子显微镜

时间:2025/7/9 11:50:16来源:https://blog.csdn.net/best335/article/details/142532800 浏览次数:1次
广州做网站公司排名_东莞网络营销优化_软文是什么意思通俗点_sem扫描电子显微镜

EasyPermission

简易权限调用

功能&特性

  • 1、自动判断权限所在的请求周期,自动回调
    • 从未请求,调用ActivityCompat.requestPermissions。
    • 仅被拒绝,请求权限任意次,但每次都拒绝,调用ActivityCompat.requestPermissions。
    • 已授权,无操作。
    • 永久拒绝,调用相关厂商的接口去该应用的权限配置页。
  • 2、根据所处周期自动弹出提示窗口,自动回调
    • 在用户首次请求时,不弹窗
    • 用户首次请求后拒绝又请求,弹窗
    • 永久拒绝后又请求,弹窗
  • 3、支持自定义权限请求周期,自动回调
  • 4、支持强制请求权限,直到用户点击弹窗上的退出按钮,自动回调
  • 5、支持请求一些特性,自动回调
    • 后台运行
    • 电池优化
  • 6、不需要在Activity里配置回调方法
  • 7、原理是动态注册和监听Activity生命周期

导入依赖

	//https://github.com/isong0623/EasyPermissionimplementation 'com.github.isong0623:EasyPermission:1.0'

初始化

在Application的onCreate方法中调用如下函数

import android.Manifest;private void initEasyPermission(){PermissionContext.set(this);//以下内容用于 展示当用户拒绝而又请求时 或 用户永久拒绝时//弹出的提示元信息//配置权限名称PermissionConfigure.setPermissionName(Manifest.permission.CAMERA,"相机");PermissionConfigure.setPermissionMessage(Manifest.permission.CAMERA, "为了拍照");
//配置权限提示信息PermissionConfigure.setPermissionName(Manifest.permission.WRITE_EXTERNAL_STORAGE,"读取文件");PermissionConfigure.setPermissionMessage(Manifest.permission.WRITE_EXTERNAL_STORAGE, "为了好玩");}

请求各种权限

普通执行一次

EasyPermission.permissions(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE).setAccuratelyCallbackEnable(true).onGranted(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求成功!", Toast.LENGTH_SHORT).show();}}).onDenied(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求失败!", Toast.LENGTH_SHORT).show();}}).onDeniedOnce(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求失败,一次!", Toast.LENGTH_SHORT).show();}}).onDeniedAlways(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求失败,总是!", Toast.LENGTH_SHORT).show();}}).requestOnce();

执行到某个周期

以下代码将会从[任意状态]开始到用户永久拒绝将会执行到跳转[设置页返回]结束

EasyPermission.permissions(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE).onGranted(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求成功!", Toast.LENGTH_SHORT).show();}}).onDenied(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求失败!", Toast.LENGTH_SHORT).show();}}).requestFully();

强制执行,直到用户退出程序

  EasyPermission.permissions(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE).onGranted(new PermissionAction<List<String>>() {@Overridepublic void onAction(List<String> data) {Toast.makeText(MainActivity.this, "请求成功!", Toast.LENGTH_SHORT).show();}}).requestForce();

请求某些特性

注意:暂不支持自启动,因为没有办法判断程序是否能够自启动

请求某些特性一次

EasyFeature.features(Feature.Background, Feature.Battery).onDenied(new PermissionAction<List<Feature>>() {@Overridepublic void onAction(List<Feature> data) {Toast.makeText(MainActivity.this, "请求失败!", Toast.LENGTH_SHORT).show();}}).onGranted(new PermissionAction<List<Feature>>() {@Overridepublic void onAction(List<Feature> data) {Toast.makeText(MainActivity.this, "请求成功!", Toast.LENGTH_SHORT).show();}}).request();

强制请求某些特性,直到用户退出程序

     EasyFeature.features(Feature.Background, Feature.Battery).onGranted(new PermissionAction<List<Feature>>() {@Overridepublic void onAction(List<Feature> data) {Toast.makeText(MainActivity.this, "请求成功!", Toast.LENGTH_SHORT).show();}}).requestForce();
关键字:广州做网站公司排名_东莞网络营销优化_软文是什么意思通俗点_sem扫描电子显微镜

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: