마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Content Provider Permission Denial 문의

0 추천
안녕하세요.

Content Provider를 이용해서 A앱의 데이터를 B앱에서 조회가능하게 구현을 했는데,

설치 후 실행하면 아래와 같은 퍼미션 에러가 발생합니다.

Caused by: java.lang.SecurityException: Permission Denial: opening provider test.a.content.Provider from ProcessRecord{ad9fbf1 29497:test.a/xxx } (pid=29497, uid=10759) requires test.b.READ_DATABASE

그런데 늘 발생하는게 아니라 설치 순서에 따라 발생해서 문의드립니다.

A앱을 먼저 설치 후 B앱 설치 시에는 퍼미션 에러가 발생하지 않는데,

B앱을 설치 후 A앱 설치 하고 실행하면 퍼미션 에러가 발생하네요.

 

B앱 설치 시 A앱이 있으면 A앱에 대한 데이터베이스 접근권한 설명이 뜨는데,

A앱이 설치되지 않은 상태에서 B앱 설치 시 위 권한 설명이 뜨지 않습니다.

 

혹시 따로 설정을 해줘야 하는 부분이 있는지요?

고수님들의 조언을 구합니다. ㅠ.ㅠ

 

아래는 앱에 구현한 퍼미션 설정입니다.

### A app manifest ###
<permission android:name="test.a.READ_DATABASE" android:protectionLevel="normal" />
<provider
    android:name=".content.Provider"
    android:authorities="test.a.Provider"
    android:exported="true"
    android:readPermission="test.a.READ_DATABASE"/>
### B app maniest ###
<uses-permission android:name="test.a.READ_DATABASE" />
디퍼 (120 포인트) 님이 2018년 2월 6일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...