자답입니다.
Application 객체에 flags라는 int형 변수에 값이 있고
이 값을 Application.FLAG_SYSTEM 이라는 static int 변수와 and 연산하여 1이 나오면 시스템 어플이라고 하네요.
Application.FLAG_SYSTEM = 1 이며, 즉 flags값이 홀수이면 시스템앱이고 짝수이면 다운로드 앱이라는 것 같네요.
ApplicationInfo info = getApplicationInfo();if(info.flags & ApplicationInfo.FLAG_SYSTEM == 1){ // TODO : system app logic}else{ // TODO : download app logic }
하지만 제가 테스트 해본 결과
위 방식으로 걸러진 어플을 비교해보았더니 아래 어플들이 시스템 어플로 구분되었습니다.
하지만 안드로이드에서 제공되는 [설정 > 어플리케이션 관리 > 다운로드 어플]에서는 아래 어플들이 다운로드 어플로 구분되네요.
이 점을 해결하는 방법을 아시는 분 답변 부탁드리겠습니다.
[Google Play 스토어]com.android.vending[지도]com.google.android.apps.maps[Google+]com.google.android.apps.plus[Gmail]com.google.android.gm[스트리트 뷰]com.google.android.street[YouTube]com.google.android.youtube[올레 마켓]com.kt.olleh.storefront[모바일 고객센터]com.ktshow.cs[삼성 계정]com.osp.app.signin[삼성Apps]com.sec.android.app.samsungapps[ChatON]com.sec.chaton[Samsung Push Service]com.sec.spp.push[올레 navi]kt.navi
로그인 유지
자답입니다.
Application 객체에 flags라는 int형 변수에 값이 있고
이 값을 Application.FLAG_SYSTEM 이라는 static int 변수와 and 연산하여 1이 나오면 시스템 어플이라고 하네요.
Application.FLAG_SYSTEM = 1 이며, 즉 flags값이 홀수이면 시스템앱이고 짝수이면 다운로드 앱이라는 것 같네요.
ApplicationInfo info = getApplicationInfo();if(info.flags & ApplicationInfo.FLAG_SYSTEM == 1){ // TODO : system app logic}else{ // TODO : download app logic }하지만 제가 테스트 해본 결과
위 방식으로 걸러진 어플을 비교해보았더니 아래 어플들이 시스템 어플로 구분되었습니다.
하지만 안드로이드에서 제공되는 [설정 > 어플리케이션 관리 > 다운로드 어플]에서는 아래 어플들이 다운로드 어플로 구분되네요.
이 점을 해결하는 방법을 아시는 분 답변 부탁드리겠습니다.