我的應用需要Gmail應用(而不是Android版本)的Froyo或Gingerbread版本爲2.3.6或更高; Honeycomb和ICS上的4.0.5或更高版本。Android:重新請求權限
此外,我使用「com.google.android.gm.permission.READ_CONTENT_PROVIDER」權限。我相信上述權限未被授予,或者不適用於舊版Gmail應用版本。
如果設備已經安裝了最新的Gmail應用程序,我的應用程序運行良好。但是,如果用戶先安裝我的應用程序,然後更新Gmail應用程序,我的應用程序將失敗。
這裏的logcat的:
與舊的Gmail應用推出:
08-14 16:13:12.370 E/DatabaseUtils(22386): java.lang.SecurityException: Permission Denial: reading com.google.android.gm.provider.PublicContentProvider uri content://com.google.android.gm/[email protected]/labels from pid=22456, uid=10113 requires com.google.android.gm.permission.READ_CONTENT_PROVIDER
安裝了最新的Gmail應用程序後推出:
08-14 16:14:17.105 W/PackageManager(1974): Not granting permission com.google.android.gm.permission.READ_CONTENT_PROVIDER to package com.ellevsoft.gmailunread because it was previously installed without
我知道最簡單的解決方法是卸載我的應用程序和重新安裝。
我想讓用戶很容易。有沒有辦法重新申請許可?是否有廣播接收器檢測Gmail應用是否正在更新(安裝)並再次請求許可?
謝謝。
過去由多個應用程序使用的非官方內容提供商不再適用於外部應用程序,而是提供可供您使用的官方只讀內容提供商,這是正確的。它更受限制,並且不會授予您對電子郵件內容的訪問權限,但這是使用上述權限的權限。有關Gmail API的更多詳細信息,請閱讀以下內容:http://android-developers.blogspot.co.il/2012/04/gmail-public-labels-api.html – Muzikant
那個,它只顯示標籤和計數。很高興聽到它仍然有效:) –