앱을 다양한 스토어에서 배포 하는데 강제 업데이트 기능을 구현하다보니 해당 사용자가 어떤 스토어에서 다운받았는지 식별 할 방법이 필요했다
방법은 너무 간단하다
import android.content.pm.PackageManager;
public String getFromInstalledMarket(Context context, String targetPkg) {
PackageManager pkgMgr = context.getPackageManager(); return pkgMgr.getInstallerPackageName(targetPkg);
}
위 함수를 호출 하면 String 타입으로 스토어 패키지명이 오는데 그 목록은 아래와 같다
1) 구글 플레이 스토어 (Google Play Store) : com.android.vending
2) 원스토어 (ONE Store)
com.skt.skaf.A000Z00040
com.kt.om.ktpackageinstaller
com.android.ktpackageinstaller
com.kt.olleh.storefront
com.kt.olleh.istore
com.lguplus.installer
com.lguplus.appstore
android.lgt.appstore
*총 8개이며 통신사와 기기마다 상이하므로 모두 체크해야한다 필자는 String 배열에 넣고 체크3)
그리고 추후 변경 될 가능성도 충분해 보인다 (21/01 확인)
3) 갤럭시 앱스(Galaxy Apps) : com.sec.android.app.samsungapps
4) Samsung Smart Switch : com.sec.android.easyMover.Agent
5) Android Package Installer : com.google.android.packageinstaller
6) Samsung Mate Agent : com.samsung.android.mateagent
틀린 내용이나 질문은 댓글로 남겨주세요
'운동하는 개발자 > Android' 카테고리의 다른 글
안드로이드 스튜디오 aar 릴리즈 / Android Studio aar Release (2) | 2021.01.29 |
---|---|
android studio getter setter 자동완성 (0) | 2021.01.29 |
업로드한 인증서로 서명되지 않은 APK를 업로드했습니다 / google play console 업로드 오류 (0) | 2021.01.28 |
앱번들 aab 파일로 apk 추출 / abb to apk (0) | 2021.01.27 |
.aab 파일이란, 앱번들파일 / what is aab file , appbundle (0) | 2021.01.27 |