首页 > 移动平台 > 详细

Android fragment中 onRequestPermissionsResult不起作用

时间:2020-01-15 13:49:16      阅读:187      评论:0      收藏:0      [点我收藏+]

两种方案:

  1. 宿主Activity中
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults)
  {
       super.onRequestPermissionsResult(requestCode, permissions, grantResults);
       // 获取到Activity下的Fragment
       List<Fragment> fragments = getSupportFragmentManager().getFragments();
       if (fragments == null)
       {
           return;
       }
       // 查找在Fragment中onRequestPermissionsResult方法并调用
       for (Fragment fragment : fragments)
       {
           if (fragment != null)
           {
               // 这里就会调用我们Fragment中的onRequestPermissionsResult方法
               fragment.onRequestPermissionsResult(requestCode, permissions, grantResults);
           }
       }
   }

2.Fragment 中 只用如下方式请求权限

fragment.requestPermissions(mPermissionList,REQUEST_CODE_CAMERA)

而不是 ActivityCompat/ContextCompat

ActivityCompat.requestPermissions((AppCompatActivity)context, new String[]{Manifest.permission.CAMERA}, PERMISSION_REQUEST_CODE)

Android fragment中 onRequestPermissionsResult不起作用

原文:https://www.cnblogs.com/jooy/p/12195767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!