关于android权限请求的文章和资料网上比比皆是,博主就github的一个开源框架EasyPermissions来分析该框架的代码设计以及实现原理。 博主研读完该框架的倒是体会到了不少的东西,现在尽可能多的分享出来其中所得。
研究android的源码可以发现,不论是Activity还是Fragment,或者androidx的Fragment,这几个组件都有关于权限验证的下面三个方法:
androidx.fragment.app.Fragment
void requestPermissions(@NonNull String[] permissions, int requestCode)
void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,@NonNull int[] grantResults)
boolean shouldShowRequestPermissionRationale(@NonNull String permission)
android.app.Fragment
void requestPermissions(@NonNull String[] permissions, int requestCode)
void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,@NonNull int[] grantResults)
boolean shouldShowRequestPermissionRationale(@NonNull String permission)
android.support.v4.app.Fragment
void requestPermissions(@No