1. 程式人生 > >初次使用執行時許可權請求框架PermissionsDispatcher碰到的問題

初次使用執行時許可權請求框架PermissionsDispatcher碰到的問題

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'

問題解決