728x90
안드로이드 다른 앱 실행
Android11(API30) 발표 이후, A앱에서 B앱 등의 다른 앱 실행 시 패키지 명 명시 필요.
1. androidManifest - queries 태그 추가.
<manifest ...>
...
<queries>
<package android:name="대상 앱 패키지명" />
</queries>
...
<application ...>
...
</application>
</manifest>
2. 기능 코드 추가
binding.btn.setOnClickListener {
val packageName = "대상 앱 패키지명"
val intent = packageManager.getLaunchIntentForPackage(packageName)
if (intent != null) {
// 앱이 설치되어 있으면 실행
startActivity(intent)
} else {
// 앱이 설치되어 있지 않으면 특정 링크로 이동
// 자체 링크 사용시
val appMarketIntent = Intent(
Intent.ACTION_VIEW,
Uri.parse("자체 설치 링크 url")
)
startActivity(appMarketIntent)
//구글 플레이스토어 앱 링크 사용시
/*
val link = "https://play.google.com/store/apps/details?id=" + packageNmae
intent = Intent(Intent.ACTION_VIEW).apply{
data = Uri.parse(link)
}
context.startActivity(intent)
*/
}
}
3. xml 버튼 생성
checking.
1) 뷰 바인딩 기법 사용 버튼 id 이벤트 부여
2) 앱 미설치 시 링크 통해 설치 이동
3) 앱 설치시 해당 앱 패키지 실행
728x90
반응형
'안드로이드 기반 앱 개발부 > 코틀린 코드 개발청' 카테고리의 다른 글
뷰 바인딩 (0) | 2024.06.11 |
---|---|
URI 스킴 방식 + QR (2) | 2023.12.29 |