0

UploadService를 시작하는 SendActivity가 있습니다.이상한 서비스 권한 동작

문제는 SendActivity가 즉시 다른 활동을 시작하고 완료 될 때 발생합니다. UploadService는 업로드해야하는 파일을 콘텐츠 공급자로부터 가져옵니다. 그러나 서비스가 공급자를 통해 파일에 액세스하려고 시도하는 순간에 SendActivity가 전경이 아니라면 내 권한에 권한이 나열되지만 권한 거부가 발생합니다.

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) 

아무도 도와 줄 수 있습니까?

답변

0

UriSendActivity에서 UploadService으로 전달한 것 같습니다. SendActivity은 아마도 해당 내용을 읽을 수있는 권한이 있지만 UploadService은 읽을 수 없습니다. , UploadService을 시작 UploadServiceSendActivity에서 읽기 액세스를 전송하는 addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)를 호출하고이 도움이 있는지 확인하기 위해 사용되는 Intent에서

. 그렇지 않으면 SendActivity에 액세스 할 수 없습니다.이 경우 먼저 Uri을받는 방법을 살펴 봐야합니다.

+0

감사합니다. 솔루션이 작동했습니다! :) –