총 게시물 38,965건, 최근 3 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

Content Provider 앱설치 순서에 따른 permission Denial

글쓴이 : dipper 날짜 : 2018-02-06 (화) 16:28 조회 : 174
글주소 : http://www.androidside.com/B49/169304
 
  Intellij 자바개발환경
소프트웨어 개발자의 생산성을 위한 코드분석과 개발환경 - Intellij IDEA
www.jetbrains.com
  KGITBANK학원 김종수
상담예약접수처, 중고등학생수시대비, 대학전공, 국비지원취업, 정보보안전문가학원.
www.hrditbank.co.kr
  아마존 AWS 공식사이트
AWS 클라우드로 개발하는 JAVA, 유동적인 리소스 관리, 편리한 배포, 디버깅
aws.amazon.com/ko/
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

안녕하세요.

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" />





질문자가 자신의 포인트 10 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 8을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

에찌 2018-02-12 (월) 15:54
해당 권한이 A 에 포함되어있어서 B에서 권한을 얻으려고 하니깐 A가 없으니 문제가 발생하는 거 아닌가요?
그러면 A를 먼저 설치하도록 유도해야할텐데여..

보니깐 SharePreference 를 사용해야 할 껀 아닌거 같고...
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기