앱이 설치되었는지 확인 후 앱이 설치되지 않았다면 플레이스토어로 이동시키고 설치되어있다면 클로저를 통해 외부의 블럭을 실행시키는 메서드가 필요했습니다.
해당 과정을 진행시키기 위해서는 다음의 과정이 필요합니다.
<queries>
<package android:name="com.kakao.talk" />
</queries>
private fun isAppInstalled(packageName: String, action: () -> Unit) {
val intent: Intent? = requireActivity().packageManager.getLaunchIntentForPackage(packageName)
if (intent != null) {
//설치시 블럭
action()
} else {
//미설치
moveToPlayStore(packageName)
dismiss()
}
}
private fun moveToPlayStore(playStoreUrl: String) {
val uri = Uri.parse("market://details?id=$playStoreUrl")
context?.startActivity(Intent(Intent.ACTION_VIEW, uri))
}