簡體   English   中英

Android v6權限-我的SDK的詢問權限

[英]Android v6 permissions - Asking permission for my SDK

再次,我需要您的幫助stackoverflowers!

我一直在開發SDK,現在需要驗證用戶是否已授予諸如位置或文件寫入之類的權限。

驗證是可以的,但是我認為如果需要,我應該尋求許可。 問題是,我絕對無法參與任何活動。 我可能會使用appContext來檢查權限,但是我不能聽這樣的onRequestPermissionsResult。

是否有一種聰明的方法可以從我這邊請求許可,還是應該讓使用我的SDK的開發人員及時地請求許可,以便以后可以使用我(和他們)需要的功能?

謝謝您的幫助!

就個人而言,我寧願讓SDK作為開發人員來處理何時詢問權限,因為我可能需要給用戶一些警告,事先處理它或在提示它們之前做其他事情。

如果您查看類似Google Play位置服務的SDK,則將開發人員的位置權限處理留給了開發人員,並僅向調用添加了警告,說明它們可能拋出SecurityException從而導致失敗。

他們還使用了一個名為android.support.annotation.RequiresPermission的注釋,您可以使用該注釋來幫助SDK用戶。 使用此批注將為您提供上述異常警告/錯誤。

官方文檔中的示例

@RequiresPermission(anyOf = {Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION})
public abstract Location getLastKnownLocation(String provider);

結果

在此處輸入圖片說明

我認為您必須在文檔中聲明權限並將權限委托給sdk用戶,這是因為庫可能是Model的一部分,並且不能使用UI進行操作(權限對話框)

沒有活動就無法調用權限對話框

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM