• Android fragment中 onRequestPermissionsResult不起作用


    两种方案:

    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)
    
  • 相关阅读:
    微软面试100 题题解
    二元查找树转变成排序的双向链表(树)
    筆試
    PE注入
    内核网络通信
    哈哈哈
    OpenCV 学习
    第一次研究VM程序中的爆破点笔记
    SE2.3.4各试用限制调试笔记
    破解相关书籍
  • 原文地址:https://www.cnblogs.com/jooy/p/12195767.html
Copyright © 2020-2023  润新知