private fun handleIntent(url: String?) {
url?.let {
val intent = Intent.parseUri(it, Intent.URI_INTENT_SCHEME)
if (intent.resolveActivity(packageManager) != null) {
startActivity(intent)
} else {
val packageName = intent.getPackage()
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$packageName")))
}
}
}
위의 코드처럼 intent 관련해서 앱 실행 동작을 처리할 때 앱 설치 유무에 따른 동작을 다르게 설정하려고 합니다.
else에서 설치가 되있지 않다면 카카오톡을 설치하도록 유도해야하는데, 무조건 com.kakao.talk을 넣을 수는 없기 때문에 일반적인 방법을 갈구하는데 현재 getPackage() 함수가 안드로이드 11 버전 이후로는 null 만 준다고하여 다른 방법을 못찾고 있는 상황입니다.