일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- opencv
- 바닐라루시
- 레인보우
- 자바
- Android
- HTML
- Eclipse
- Looper
- 네트워크
- rainbow
- opengl
- 걸스데이
- 네트워크보안
- 배다해
- 쓰레드
- Java
- 브로드케스트 리시버
- error
- 이클립스
- Linux
- 뮤직비디오
- TOEIC
- 토익
- 인텐트
- xml
- 서비스
- 영어
- 엑티비티
- 안드로이드
- Intent
- Today
- Total
W.A 저장소
Get PackageName(패키지 이름 받아오기) 본문
현재 자신의 플랫폼에 어떤 패키지(apk)가 설치되어 있는지 확인을 할 수 있는 코드이다. 대략적으로 한번
살펴본다면은 쉽게 이해가 갈 것이다. 밑의 내용이 소스를 실행하였을때 나오는 항목들이다.
소스를 확인해보자.
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 |