小心
使用第三方庫時,一定要注意與自己業務邏輯是否匹配。
一、起因
Andriod 6.0開始android使用了動態申請權限,系統提供的方法不夠直觀,所以尋找一些封裝好,好用的第三方庫。項目一直是使用Acp庫來進行權限申請,可是作者不維護了,存在的崩潰也不解決了。只能另辟蹊徑,找來找去,發現PermissionX的口碑不錯。同時我也是學《第一行代碼》入行android。很愉快地決定了。
二、問題
使用中,就碰到前面圖片中的問題。當一個頁面中,同時發起兩次授權,那么第二個申請就直接返回成功。猜測,同時發起N個請求,那么除了第一個,其他的都會直接返回成功。
這個作者回復是說是非法操作。 然后果斷的修改了業務邏輯。(不然就沒有辦法了)
三、無解
最近后碰到了一個問題,在vivo的Android7上,打開應用后,就會去申請
android.permission.READ_PHONE_STATE
的權限。而此時使用PermissionX進行申請權限,那么就會直接進入成功的回調。其實這個時候授權的彈窗還停留在READ_PHONE_STATE。
導致不能夠進行正常的權限申請。
四、解決方法
在進入應用的首頁,采用andriod系統的方式進行授權的申請。
此時想到PermissionX作者回復的非法,我覺得是不對的。采用android系統提供的動態權限申請方法,不存在授權窗口還未提示,就直接回調成功。
// END 合適自己的才是最好的。