특정 앱을 개발하던 도중 앱내에서 다른 앱을 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>