W.A 저장소

Get PackageName(패키지 이름 받아오기) 본문

Programing

Get PackageName(패키지 이름 받아오기)

W.A 2010. 10. 28. 19:42

현재 자신의 플랫폼에 어떤 패키지(apk)가 설치되어 있는지 확인을 할 수 있는 코드이다. 대략적으로 한번
살펴본다면은 쉽게 이해가 갈 것이다. 밑의 내용이 소스를 실행하였을때 나오는 항목들이다.




소스를 확인해보자.

// ACTION_MAIN을 가지는 Intent 생성

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);

  

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {


    PackageManager pm = this.getPackageManager();


   
Iterator<ResolveInfo> packageInfo;

   

    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

 

// 주어진 Intent에서 수행될 수 있는 모든 Activity들을 검색함. List<ResolveInfo> 반환

    final List pkgAppsList = pm.queryIntentActivities( mainIntent, 0 ); 1

 

    ResolveInfo tempResolveInfo = new ResolveInfo();

   

    while( packageInfo.hasNext() ) {

        tempResolveInfo = packageInfo.next();

// Log.d(TAG, tempResolveInfo.loadLabel(pm).toString());  App 이름

// Log.d(TAG, tempResolveInfo.activityInfo.packageName.toString());  package 이름

        packageNameList.add(tempResolveInfo.activityInfo.packageName.toString());

    }

위에서 주의 깊게 살펴볼 곳은 1이라고 표시가 되어 있는 부분이다. 이 부분에서 Intent에서 수행될 수 있는 모든 Activity들을 검색하여 List<ResolveInfo>를 반환하는 부분이 된다. 이러한 방법으로 여러 패키지들에 대한 정보를 얻을 수가 있다.

'Programing' 카테고리의 다른 글

움직이는 위젯(App Widget)  (2) 2010.11.05
Get Process Info( CPU Usage / Memory Usgae)  (0) 2010.11.04
Immortal Service(죽지않는 서비스)  (5) 2010.10.28
OpenCV for android 사용기 #1  (0) 2010.09.15
Telephony, Notification & Alarm  (0) 2010.08.24