getLaunchIntentForPackage로 다른앱 실행시키기
2023. 12. 6. 14:15ㆍ- 안드로이드/kotlin
getLaunchIntentForPackage를 사용하면 다른 앱을 실행시키는게 가능한데요 사용법에 대해 정리해보겠습니다.
a 앱에서 b앱을 실행시키기
manifest 적용
실행시키는 앱이 아니라 실행이 될 앱에(b앱) 명시가 되어 있어야 합니다.
아래와 같이 manifestdp 추가해줍니다.
<manifest ...>
...
<queries>
<package android:name="b앱의 패키지명" />
</queries>
<application ...>
...
</application>
</manifest>
다른앱 실행하기
다른앱을 실행시킬 앱에 작성해줍니다(a앱). getLaunchIntentForPackage를 사용하여 intent를 생성 합니다. 하지만 여기서 null이 반환된다면 호출할 앱이 없다는 뜻이므로 playstore를 연결해 설치를 유도 할수 있게 합니다.
// 실행시킬 앱의 패키지
var intent = packageManager.getLaunchIntentForPackage("b앱패키지명")
// intent가 null을 반환하는 경우(설치안된경우) playstore링크를 실행시켜 설치를 유도
if (intent == null) {
val link = "https://play.google.com/store/apps/details?id=" + "b앱패키지명"
intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse(link)
}
startActivity(intent)
return@setOnClickListener
}
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
'- 안드로이드 > kotlin' 카테고리의 다른 글
코틀린 retrofit2 레트로핏2 사용하기 (0) | 2024.01.04 |
---|---|
코틀린 fragment 화면 전환시 이전 화면 유지하기 (0) | 2023.12.17 |
코틀린 뷰 바인딩 view binding 사용하기 (0) | 2023.12.06 |
코틀린 버튼 클릭 효과주기 (0) | 2023.11.01 |
안드로이드 스튜디오 sharedPreference 저장경로 (0) | 2023.10.25 |