본문 바로가기

Android

java.lang.SecurityException: Permission Denial: starting Intent 에러 처리.

프로젝트를 하고 있던 앱에 위젯 기능이 추가되서 작업하고 있는데 이상하게 키캣버전에서만 원하는 Activity로 이동이 안되네??? 로그캣을 보니

java.lang.SecurityException: Permission Denial: starting Intent { flg=0x24000000 cmp=XXXX.xxxx/xxxxxActivity bnds=[0,102][768,230] (has extras) } from null (pid=-1, uid=10125) not exported from uid 10149
            at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1186)
            at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:741)
            at com.android.server.am.ActivityManagerService.startActivityInPackage(ActivityManagerService.java:3300)
            at com.android.server.am.PendingIntentRecord.sendInner(PendingIntentRecord.java:252)
            at com.android.server.am.PendingIntentRecord.send(PendingIntentRecord.java:192)
            at android.content.IIntentSender$Stub.onTransact(IIntentSender.java:64)
            at android.os.Binder.execTransact(Binder.java:404)
            at dalvik.system.NativeStart.run(Native Method)

이런 에러가 발생한다.. 뭐지 섹큐리티익셉션?? 구글신에게 물어보니 GitHub에 똑같은 문제로 뭔가 해결한게 있어서
낼름 적용해보니 잘된다 하하하하하.
기존 AndroidManifest.xml 에 등록한 Activity를 아래처럼 바꿔줬다.

<activity android:name="xxx.xxx.xxx.xxxActivity" />
<activity android:exported="true" android:name="xxx.xxx.xxx.xxxActivity" />

키캣으로 올라가면서 뭔가 이것저것 수정해줘야될게 많아져서 귀차니즘...... OTL