# 앱 설치 여부 확인

앱이 설치되었는지 확인 후 앱이 설치되지 않았다면 플레이스토어로 이동시키고 설치되어있다면 클로저를 통해 외부의 블럭을 실행시키는 메서드가 필요했습니다.

해당 과정을 진행시키기 위해서는 다음의 과정이 필요합니다.

  1. 패키지 이름
  2. 쿼리 추가
  3. PM을 통해 앱 설치 여부 확인
  4. 미설치시 플레이스토어로 연결

진행 과정

  1. 먼저 핸드폰에 임의의 앱이 필요한지를 알기 위해서는 설치 여부를 확인하려는 어플의 패키지이름이 필요합니다.
    패키지이름은 플레이스토어에 들어가서 해당 어플을 검색하면 알 수 있습니다.
    id 쿼리 뒷부분의 com.kakao.talk이 카카오톡의 패키지 이름입니다.

  1. 원하는 앱의 패키지이름을 알았다면 Manifest에 추가해주어야 합니다.
		<queries>
        <package android:name="com.kakao.talk" />
    </queries>
  1. PackageManager를 통한 앱 설치여부 확인
private fun isAppInstalled(packageName: String, action: () -> Unit) {
		val intent: Intent? = requireActivity().packageManager.getLaunchIntentForPackage(packageName)
    if (intent != null) {
//설치시 블럭 
        action()
    } else {
//미설치
        moveToPlayStore(packageName)
        dismiss()
    }
}
  1. 플레이스토어로 이동
private fun moveToPlayStore(playStoreUrl: String) {
        val uri = Uri.parse("market://details?id=$playStoreUrl")
        context?.startActivity(Intent(Intent.ACTION_VIEW, uri))
    }

좋은 웹페이지 즐겨찾기