PermissionX一個bug

小心

使用第三方庫時,一定要注意與自己業務邏輯是否匹配。

一、起因

Andriod 6.0開始android使用了動態申請權限,系統提供的方法不夠直觀,所以尋找一些封裝好,好用的第三方庫。項目一直是使用Acp庫來進行權限申請,可是作者不維護了,存在的崩潰也不解決了。只能另辟蹊徑,找來找去,發現PermissionX的口碑不錯。同時我也是學《第一行代碼》入行android。很愉快地決定了。

二、問題

使用中,就碰到前面圖片中的問題。當一個頁面中,同時發起兩次授權,那么第二個申請就直接返回成功。猜測,同時發起N個請求,那么除了第一個,其他的都會直接返回成功。
這個作者回復是說是非法操作。 然后果斷的修改了業務邏輯。(不然就沒有辦法了)

三、無解

最近后碰到了一個問題,在vivo的Android7上,打開應用后,就會去申請

android.permission.READ_PHONE_STATE

的權限。而此時使用PermissionX進行申請權限,那么就會直接進入成功的回調。其實這個時候授權的彈窗還停留在READ_PHONE_STATE。
導致不能夠進行正常的權限申請。

四、解決方法

在進入應用的首頁,采用andriod系統的方式進行授權的申請。
此時想到PermissionX作者回復的非法,我覺得是不對的。采用android系統提供的動態權限申請方法,不存在授權窗口還未提示,就直接回調成功。

// END 合適自己的才是最好的。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,897評論 2 59
  • 一、前言: 在開始介紹PermissionX的具體用法之前,我們先來討論一下它的實現原理。 其實之前并不是沒有人嘗...
    因為我的心閱讀 8,706評論 1 4
  • 本地廣播和全局廣播的區別 BroadcastReceiver 是跨應用廣播,利用Binder機制實現,支持動態和靜...
    縱橫Top閱讀 1,236評論 0 1
  • *本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發布 運行時權限 Android 6.0,代號Ma...
    Epeius閱讀 26,101評論 16 32
  • [TOC]建議就是在面一家公司之前了解好這個公司的app是以什么為驅動的,例如電商的話肯定要了解hybrid 開發...
    Jacinth閱讀 697評論 0 1