https://blog.csdn.net/dr_abandon/article/details/77946585
这个博客以及说的很明白,只是我在使用的时候,onRequestPermissionsResult回调一直不执行,很是郁闷,然后搜了一些资料,发现在拿回调的时候如果你的类继承了Activity 要实现ActivityCompat.OnRequestPermissionsResultCallback这个接口。
才能拿到回调,不知道是不是官方的坑。每个厂商的手机也都不一样。暂时先了解到这么多。
另外动态申请权限时一定要同时在清单文件中同时申请相应权限。动态申请了不代表清单文件可以不写。
其中,
在Activity中使用的时候我们的代码如下:
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
1);
我们在Fragment中申请时不是使用AcyivityCompat而是使用Fragment本身,代码如下:
HomeFragment.this.requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
1);