마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

폰에 설치된 앱이 마켓(구글, 티스토어 등)에서 설치한 앱인지 apk를 통한 직접설치 인지 확인 가능할까요

0 추천
어둠의 경로에서 받은 apk를 설치하고

 

구글 마켓에서 해당 앱을 검색해 들어가서 그 앱을 삭제 하려고 하면

 

"해당앱은 마켓에서 설치한 앱이 아닙니다. 그래도 지울거냐?" 이렇게 물어보거든요...

 

그말은 폰에 설치된 앱이 마켓을 통한 설치인지 apk를 직접 설치한지 확인이 가능 할 것 같은데...

 

패키지 메니저나, 뭐 그런거 통해서 이거 체크 가능 할까요?
ezmo01 (1,510 포인트) 님이 2013년 4월 16일 질문

3개의 답변

0 추천
저도 예전에 단말에 설치되어 있는 앱들의 출처를 알아내기 위해 여러가지로 테스트를 해보았는데

패키지매니져등으로는 앱의 출처를 구분할 수 없었습니다.

참고로 안드로이드 마켓은 앱의 패키지 명을 key로 사용합니다. 반면 티스토어는 앱 등록시 별도의 id가 부여되어 패키지 명의 중복이 허용되더군요.
Hwanny (180 포인트) 님이 2013년 4월 16일 답변
0 추천

단순히 마켓에서 다운로드한 내역이 없으면 마켓에서 설치한 앱이 아닌게 되죠

그러므로 다른 사람의 앱을 어디서 다운받았는지 알수는 없습니다.

다만 자신의 앱이라면 가능하죠 smiley

q1212 (26,020 포인트) 님이 2013년 4월 16일 답변
아.. 그렇다면 마켓의 다운로드 내역을.. 음.. 안되겠군요..
0 추천
Google Play 스토어 기준 입니다.(T store등은 확인 안해봤네요...)

adb install 이라 던지 혹은 다른 경로로 설치 하면 getInstallerPackageName 값이 달랐던것 같네요...

PackageManager pm = context.getPackageManager();

if("com.android.vending".equals(pm.getInstallerPackageName("패키지이름")))

    마켓에서 설치된 어플

else

    마켓어플에서 설치된 어플 아님
익명사용자 님이 2013년 4월 17일 답변
답변 주셔서 감사합니다. 한번 확인해보고 후기 올릴께요...

스택오버에 이 질문 올렸는데 어느 외국인이 답을 준게 있더군요..

참고로 그냥..

http://stackoverflow.com/questions/16033543/how-to-check-installed-application-using-googleplay-or-not-in-android-device
확인해 보니 마켓에서 받은 녀석은 "com.android.vending이 들어있구요
티스토어 또는 apk 직접설치는 이부분에 null이 들어오는군요..

감사합니다.
...