본문 바로가기
안드로이드

getPackageManager().getLaunchIntentForPackage return null

by 디지털노마더 2021. 10. 22.

기존에 회사 앱 서비스에서 이미지를 '카카오톡' 앱으로 바로 공유하는 기능이 있었다.

최근에 targetSDKVersion=30 으로 상향하면서 공유 과정에서 문제가 생겼다.

 

문제가 발생하는 부분은 바로 아래 코드

Intent intentKakaoTalk = getPackageManager().getLaunchIntentForPackage("com.kakao.talk");

 

안드로이드 Develop 공식 사이트의 내용을 참고해보자면, Android 11 이상을 타켓팅하는 앱의 경우 다른 앱과 상호작용(ex. 이미지, 텍스트 공유)이 필요할 때는 AndroidManifest.xml에 <queries> 요소를 추가해야 한다.

 

<manifest package="com.example.project">
<queries>        
        <package android:name="com.kakao.talk" />
    </queries>
</manifest>

 

개인정보의 중요성이 높아지면서, 구글에서도 App간 데이터가 전달되는 것에 있어서도 약간의 제한을 두는게 아닌가 싶은 생각이 든다. 

 

targetSDK를 상향 조정할 때는, 반드시 여러 테스트를 거친 후 업데이트에 반영해야함을 다시 느낀다.

 

댓글