Getting security Exception : requires android.permission.ACCESS_ALL_DOWNLOADS

4,894 views
Skip to first unread message

raj

unread,
May 22, 2012, 5:58:08 PM5/22/12
to adt...@googlegroups.com
Hi,
 
Env : Windows 7, Eclipse Indigo, SDKr18

Story : Trying to show files downloaded via own app in the Downloads app ListView.
  • min sdk compatibility = 8,  so cannot use DownloadManager
  • from DownloadManager code found that DownloadManager.addCompletedDownload() might be useful to implement
  • so did the following
    • ContentValues values = new ContentValues();
    • values.put("destination", 6)    // after translation from Downloads.Impl
    • values.put("_data", path) 
    • ...
    • getContentResolver().insert(Uri.parse("content://downloads/public_downloads"), values);
  • Also tried reading
    • getContentResolver().query(Uri.parse("content://downloads/public_downloads"), mProjection, null, mSelectionArgs, null)

 Throws the same error :

  • Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/public_downloads from pid=1766, uid=10036 requires android.permission.ACCESS_ALL_DOWNLOAD
Kindly suggest.

raj

unread,
May 22, 2012, 6:01:15 PM5/22/12
to adt...@googlegroups.com
  • Added permission tag with  android.permission.ACCESS_ALL_DOWNLOAD still isn't going away
  • Found related issue report Issue 13043
Kindly suggest.

raj

unread,
May 22, 2012, 6:08:43 PM5/22/12
to adt...@googlegroups.com

Also referring this suggestion added permission tag "android.permission.INTERNET"
Still no change in outcome.
Stack trace :
05-22 22:05:11.052: E/AndroidRuntime(2615): Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/public_downloads from pid=2615, uid=10036 requires android.permission.ACCESS_ALL_DOWNLOADS
05-22 22:05:11.052: E/AndroidRuntime(2615):     at android.os.Parcel.readException(Parcel.java:1322)
05-22 22:05:11.052: E/AndroidRuntime(2615):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160)
05-22 22:05:11.052: E/AndroidRuntime(2615):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
05-22 22:05:11.052: E/AndroidRuntime(2615):     at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330)
05-22 22:05:11.052: E/AndroidRuntime(2615):     at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
05-22 22:05:11.052: E/AndroidRuntime(2615):     at android.content.ContentResolver.query(ContentResolver.java:262)


 

Alan Jeon

unread,
May 25, 2012, 12:04:09 AM5/25/12
to adt...@googlegroups.com
You can't use android.permission.ACCESS_ALL_DOWNLOADS permission. Only apps using same signature with DownloadProvider can use it. 

Anyway, I think this question is not related to adt.
Reply all
Reply to author
Forward
0 new messages