android Easypermission权限管理
1、添加依赖:
//EasyPermission
implementation 'pub.devrel:easypermissions:2.0.0'
2、权限拒绝后,弹出的提示设置的弹框内容,需要自己修改:
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {new AppSettingsDialog.Builder(this).setTitle("权限提示").setRationale("必须打开权限才可以使用!").build().show();
}
3、activity使用EasyPermission:
/*** Desc: 使用EasyPermission来实现* FileName: TestEasyPermissionActivity* Create by: yingbin.bai* Date: 2019/11/21* Time: 9:02* Email: baiyingbin5@163.com*/
public class TestEasyPermissionActivity extends AppCompatActivity implements View.OnClickListener,EasyPermissions.PermissionCallbacks {private TextView callTel;//拨号private TextView openCamera;//打开相机@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_permission_google_api);ViewBinder.ActivityBindViews(this);callTel.setOnClickListener(this);openCamera.setOnClickListener(this);}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.callTel://拨号initPermission();break;case R.id.openCamera://打开相机initPermission();break;}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {//当从软件设置界面,返回当前程序时候case AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE:Log.e("EasyPermission","设置未打开授权");//执行Toast显示或者其他逻辑处理操作break;}}/*** 初始化需要动态请求的权限* 打电话、打开相机*/private void initPermission(){String[] permissions = {Manifest.permission.CALL_PHONE,Manifest.permission.CAMERA};boolean hasPermissions = checkPermission(TestEasyPermissionActivity.this, permissions);if (hasPermissions) {//拥有权限,执行其他操作}else {//没有权限,去请求权限requestPermission(TestEasyPermissionActivity.this,"请求拨号和摄像头权限",1200,permissions);}}@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {//Forward results to EasyPermissionssuper.onRequestPermissionsResult(requestCode, permissions, grantResults);EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);}@Overridepublic void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {Log.e("EasyPermission","用户授权成功");}@Overridepublic void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {/*** 若是在权限弹窗中,用户勾选了'NEVER ASK AGAIN.'或者'不在提示',且拒绝权限。* 这时候,需要跳转到设置界面去,让用户手动开启。*/if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {new AppSettingsDialog.Builder(this).setTitle("权限提示").setRationale("必须打开权限才可以使用!").build().show();}}/*** 检测权限* @param context Activity* return true:已经获取权限* return false: 未获取权限,主动请求权限*/public static boolean checkPermission(Activity context, String[] perms) {return EasyPermissions.hasPermissions(context, perms);}/*** 请求权限* @param context Activity*/public static void requestPermission(Activity context,String tip,int requestCode,String[] perms) {EasyPermissions.requestPermissions(context, tip,requestCode,perms);}}
android Easypermission权限管理相关推荐
- android media_rw sdcard_rw,大约Android 了解权限管理
如Android应用程序开发人员.为android权限机制一直觉得很奇怪.为什么要这个东西权限?为什么要AndroidManifest里面写的uses-permission 这样的事情?我一直搞不清楚 ...
- Android动态权限管理模型(4.3-6.0)
Google从4.3开始就试图引入AppOpsManager动态权限管理模型,但是,由于感觉技术不太成熟,在Release版本中,这个功能都是被隐藏掉的,所以官方Rom一直没有动态权限管理机制.直到A ...
- android 获取权限管理,Android常用权限获取和设置
Android常用权限获取和设置 1 活动管理器 权限 代码 ActivityManager activityManager = (ActivityManager) getSystemService( ...
- Android原生权限管理:AppOps
--------------------- 从Android M开始,Google就正式推出了官方的权限管理机制Android Runtime Permission. AppOps终究没有走到台面^^ ...
- android应用权限被默认关闭了,Android 应用权限管理默认开关的修改方法
修改系统属性:persist.sys.strict_op_enable 开启应用权限管理:true 关闭应用权限管理:false 说明:因为对源码不熟,此部分控制很简单,却走了不少弯路,记之,为大家节 ...
- android关闭权限管理,Android6.0权限管理以及使用权限该注意的地方
Android 6.0 Marshmallow首次增加了执行时权限管理,这对用户来说,能够更好的了解.控 制 app 涉及到的权限.然而对开发人员来说却是一件比較蛋疼的事情.须要兼容适配,并保证程序功 ...
- android浮标权限管理,Android辅助权限与悬浮窗
Android辅助权限与悬浮窗在执行自动化服务的流程中,我们其实并不希望被用户的操作中断流程,所以有什么方法在用户点击自动化操作的过程中,避免用户再次操作呢?那就是开启一个全局透明的悬浮窗,进行屏蔽触 ...
- Android pms权限管理,Android权限机制
为什么有权限机制 我们知道 Android 应用程序是沙箱隔离的,每个应用都有一个只有自己具有读写权限的专用数据目录.但是如果应用要访问别人的组件或者一些设备上全局可访问的资源,这时候权限机制就能系统 ...
- Android应用权限管理总结
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
最新文章
- 腾讯云携手SENSORO,为城市安全保驾护航
- 地方弱势运营商如何发展宽带业务?
- EAS中的管理单元、组织单元理解
- 42.存储器管理应具有的功能?
- gcc/g++编译器的优化
- 01-08-02【Nhibernate (版本3.3.1.4000) 出入江湖】二级缓存:NHibernate自带的HashtableProvider...
- Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL
- Python基础教程笔记——条件,循环和其他语句
- hashmultimap java_【Java 学习笔记】 HashMultimap(guava)
- 【Java】使用MapReduce程序统计PV数量
- SAP License:标准价格修改
- Java并发(三)——线程池
- 手把手教程 Sublime Text 删除重复行
- linux locate
- 论文翻译——Skin Lesion Synthesis with Generative Adversarial Networks
- mysql 随机函数
- c# ppt 转 html,C# 实现PPT 每一页转成图片
- 爬虫入门经典(一) | 一文教你用Spider制作简易的翻译工具
- 测绘人真实故事 | 放弃上万月薪从私企跳回国企
- 企业微信社群运营必建的4个内容体系