您现在的位置是:主页 > news > 网站建设与维护费用/全网搜索引擎
网站建设与维护费用/全网搜索引擎
admin2025/5/16 23:01:18【news】
简介网站建设与维护费用,全网搜索引擎,网站的登录注册页面怎么做的,做二手房比较好的网站权限是目前APP必不可少的,这里介绍一下onRequestPermissionsResult回调不执行问题。 一,正常使用android 6.0权限: 1.检查判断 如果应用具有此权限,方法将返回PackageManager.PERMISSION_GRANTED,并且应用可以继续操…
权限是目前APP必不可少的,这里介绍一下onRequestPermissionsResult回调不执行问题。
一,正常使用android 6.0权限:
1.检查判断
如果应用具有此权限,方法将返回PackageManager.PERMISSION_GRANTED,并且应用可以继续操作。
如果应用不具有此权限,方法将返回PERMISSION_DENIED,且应用必须明确向用户要求权限。
private final int REQUEST_CODE_ADDRESS = 100;private void checkPermissioin(){int checkCoarse = ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION);int checkCoarseFine = ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION);if (checkCoarse == PackageManager.PERMISSION_GRANTED && checkCoarseFine == PackageManager.PERMISSION_GRANTED) {//已经授权} else {//没有权限ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE_ADDRESS);//申请授权}}
2.处理授权回调
@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {switch (requestCode) {case REQUEST_CODE_ADDRESS:if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] ==PackageManager.PERMISSION_GRANTED) {// Permission Granted 授予权限//处理授权之后逻辑} else {// Permission Denied 权限被拒绝ToastUtils.showShort(getActivity(),"权限被禁用");}break;default:break;}super.onRequestPermissionsResult(requestCode, permissions, grantResults);}
二、onRequestPermissionsResult回调不执行问题
问题场景:fragment中去检查权限、申请权限,回调也就写在fragment中了,而且写了之后也没有报任何错,回调方法不执行。
原因:处理权限申请回调必须写在Activity中。
解决方法:把这个回调移到这个Fragment所依附的那个Activity,处理相关逻辑。
相关文章:
相关文章: Android M Permissions: onRequestPermissionsResult() not being called
android6.0权限参考文档
一行代码解决Android M新的运行时权限问题
作于201910311350,已归档
———————————————————————————————————
若本文对您有帮助,轻抬您发财的小手,关注/评论/点赞/收藏,就是对我最大的支持!
祝君升职加薪,鹏程万里!