对于 Android6.0 运行时权限的处理方式网上有很多,包括注解,RxJava 等等。一直没有正面提到我关心的问题 -- 如果我不在 Activity 或者 Fragment 里面,需要运行时权限该怎么去做?导致我开始一直以为运行时权限的处理必需要在 Activity 或者 Fragment 之中。 那么: 我有一个录音的自定义控件在很多页面需要使用怎么办? 我有一个联系人列表,要在 adapter 里面拨打电话怎么办? 我有一个定位的工具类要在多个页面使用怎么办? 等等... 我们只需要把回调 onRequestPermissionsResult 方法放到 Activity 基类里面,通过工具类调出来,加一个处理结果的回调即可。那么一不做二不休,我们有没有考虑过 Fragment 里面的处理其实是多余的,我们可不可以都放到 Activity 里面来处理,事实证明是可以的。于是就化繁为简产生了我的 XPermissionUtils