奇怪的服务权限行为

时间:2016-12-10 16:59:38

标签: android android-service android-contentprovider android-permissions

我有一个SendActivity,它启动了UploadService。

当我让SendActivity立即启动另一个活动并完成自己时,问题就出现了。 UploadService从内容提供商处获取它应该上传的文件。但是当SendActivity不是服务尝试通过提供者访问文件时的前景时,我得到了一个" Permission Denial"虽然权限列在我的清单中。

java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaDocumentsProvider uri content://com.android.providers.media.documents/document/image%3A24669 from pid=28913, uid=10441 requires android.permission.MANAGE_DOCUMENTS, or grantUriPermission()
                                                at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:646)

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我的猜测是,您将<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="classA">AA</div> <div class="classB">BB</div> </div> <div class="container"> <div class="classA">AA</div> </div>Uri传递给SendActivityUploadService或许有权阅读该内容,但SendActivity没有。

在用于启动UploadService的{​​{1}}中,致电Intent以将读取权限从UploadService转移到addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION),看看是否有帮助。如果没有,那么也许SendActivity 没有读取权限,在这种情况下,您需要先了解如何获得UploadService