PermissionsDispatcher库GitHub源码地址
Android6.0版本的一个重大改动就是增加了运行时权限(动态权限):一些危险的权限不止要在AndroidMainifest文件中声明,还要在运行的时候使用代码来申请,让用户同意才能进行授权。
PermissionsDispatcher的使用方法我就不多说了,网上百度一大堆,这里仅用来记录自己在使用PermissionsDispatcher遇到的问题,以便能帮助一些跟我遇到同样问题却不知道怎么解决的的人少绕一些弯路。
我刚开始用PermissionsDispatcher的时候,正常来说只需要在build.gradle中添加
compile 'com.github.hotchemi:permissionsdispatcher:2.4.0'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
然后在对应的Activity/Fragment中添加@RuntimePermissions,在使用权限的方法上添加@NeedsPermission(Manifest.permission.***)具体使用的某个权限。然后rebuild项目,就可以在app/build/genarated/source/apt/debug生成XXXActivityPermissionsDispatcher类(XXX代表具体使用Activity的类名)。
然而在自己开发的项目中,却发现只配置
compile 'com.github.hotchemi:permissionsdispatcher:2.4.0'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
无法在app/build/genarated/source/apt/debug生成XXXActivityPermissionsDispatcher类。
解决办法:
修改为
compile 'com.github.hotchemi:permissionsdispatcher:2.4.0'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
apt 'com.github.hotchemi:permissionsdispatcher-processor:2.4.0'
问题解决