Android에서 외부 ContentProvider를 호출하지 못했습니다.
무심결에 외부를 호출하는
ContentProvider
보고서 java.lang.SecurityException: Permission Denial: opening provider
오류를 만나 해결 방법을 기록하세요.이 블로그는 XueLong에 동시 게시된 블로그입니다.오류 원인 및 해결 방법
오보 일지
Process: online.himakeit.testcontentprovider, PID: 6668
java.lang.SecurityException: Permission Denial: opening provider
online.himakeit.skylarkdemo.provider.DBSQLProvider from ProcessRecord{7dc9495 6668:online.himakeit.testcontentprovider/u0a93}
(pid=6668, uid=10093) that is not exported from UID 10094
at android.os.Parcel.readException(Parcel.java:1942)
at android.os.Parcel.readException(Parcel.java:1888)
at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:4771)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:5882)
at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2479)
at android.content.ContentResolver.acquireProvider(ContentResolver.java:1733)
at android.content.ContentResolver.insert(ContentResolver.java:1533)
at online.himakeit.testcontentprovider.MainActivity.onClick(MainActivity.java:53)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24697)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
java.lang.SecurityException: Permission Denial: opening provider
오류가 발생한 원인은 외부의 ContentProvider
이 외부에 호출될 수 없기 때문이다.해결 방법은
ContentProvider
을 정의할 때
라벨에 android:exported="true"
속성을 추가하고 그 값을 true
으로 설정하는 것이다.android:exported
의 주요 역할은 다른 응용 프로그램이 현재 구성 요소 Android
의 4대 구성 요소 Activity
, Service
, ContentProvider
, BroadcastReceiver
에는 모두 android:exported
이라는 속성이 있습니다.맨 마지막에 쓰다
이상은
java.lang.SecurityException: Permission Denial: opening provider
문제를 어떻게 해결하는가입니다.만약 참고 과정에서 문제가 생기면 나의 연락처에서 나에게 질문을 할 수 있다.
안드로이드에 대한 지식을 계속 소개할 테니 제 블로그의 업데이트에 계속 관심을 가져 주십시오.
전재: XueLong의 블로그 안드로이드에서 외부 ContentProvider를 호출하지 못했습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.