본문 바로가기
카테고리 없음

[Android][kotlin] 안드로이드 11이상 내부 패키지(package)접근 방법

by MinChan-Youn 2021. 12. 6.

특정 앱을 개발하던 도중 앱내에서 다른 앱을 intent를 통해서 실행시키는 과정에서 앱이 실행이 안되는 버그가 있었다.

더 자세하게 이야기하자면 이니시스 결제단에서 현대카드, 신한카드 등 을 통해서 결제를 하기 위해서 결제앱을 실행이 안되는 버그이다.

 

원인을 찾아보니 Android 11이상에서 핸드폰 내 패키지접근이 안되는 현상이였다.

핸드폰 내 패키기 접근을 하기위해서는 Manifest쪽에서 특정 앱을 실행가능한 코드를 추가해줘야하 하는것을 확인

 

해결방법은 다음과 같다.

*AndroidManifest.xml파일에 추가

 

Step 1. 앱내에서 핸드폰에 있는 모든 패키지의 앱에 접근 가능하도록 설정

<!-- 21.12.06 안드로이드11 이상 특정 앱 intent 핸드폰 내 패키지 접근을 위함 -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

 

Step 2. 앱내에서 핸드폰에 있는 특정 패키기의 앱만 접근 가능하도록 설정

<!-- 특정 패키지만 허용-->
<queries>
    <package android:name="패키지명" />
</queries>