티스토리 뷰
가끔 내 폰에 설치된 앱이 어느 마켓에서 설치되었는지 알아보고 싶을 때가 있다.
apk의 설치 출처 말이다.
당연히 대부분은 Google Play Store 이겠지만, 또 한국의 이통사에서 유통한 단말이라면 당연히 원스토어도 설치되어 있을 것이므로 그것도 고려대상.
이러저러한 이유로 결국 알아낼 수 있는 방법이 있으면 좋겠다는 생각에 알아본 코드와 함께
각 코드별 어떠한 스토어와 연결되어 있는지도 함께 적어봤으면 좋겠다는 생각에 포스팅을 하게 되었다.
public String getFromInstalledMarket(Context context, String targetPkg) { |
PackageManager pkgMgr = context.getPackageManager(); |
return pkgMgr.getInstallerPackageName(targetPkg); |
} |
view rawSplashViewPresenter.java hosted with ❤ by GitHub
컨텍스트에서 가져올 수 있는 저 정보가 중요한 정보인 것이다.
그렇다면, 이 코드의 실행 결과는??
한국에서 출시한 삼성 단말이라면 다음에서 언급한 예시에 대부분 해당이 될 것 같다.
아래의 경우 이외에도 null이 리턴되는 경우가 있으니 null 유효성 처리는 필수!
각 이름의 아래는 패키지명이므로, switch-case 문으로 구분해놓으면 멋진 판독기가 동작하리라!
1) Google Play Store(구글 플레이스토어)
com.android.vending
2) ONE STORE(원스토어)
com.skt.skaf.A000Z00040
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
출처: https://blog.soobinpark.com/152 [happy 빈이 라이프스토리]
'Computer > Android' 카테고리의 다른 글
[EditText] Password 숨기기 (0) | 2019.09.30 |
---|---|
Keytool for Publishing to Google Play Store (0) | 2019.09.29 |
[Android][Error] Error while merging dex archives (0) | 2019.06.26 |
AdMob 모바일 광고 SDK (0) | 2019.06.26 |
[Android] Context removed error when activity destroyed (0) | 2019.06.16 |