>> 안드로이드 패키지명/액티비티 검색
http://activities.droidicon.com
앱의 실행
>> 패키지명으로 실행
String 패키지명
PackageManager pm = context.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(패키지명);
context.startActivity(intent);
>> 컴포넌트명으로 실행
ComponentName 컴포넌트명
Intent intent = new Intent( Intent.ACTION_MAIN );
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(컴포넌트명);
context.startActivity( intent );
>> 설치된 패키지
PackageManager pm = context.getPackageManager();
List<PackageInfo> info = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
for( PackageInfo i : info ) {
info.packageName; // 패키지명
}
>> 앱 유무 검사 해서 컴포넌트명 얻기
PackageManager pm = context.getPackageManager();
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
intent.addCategory("android.intent.category.DEFAULT");
List<ResolveInfo> info = pm.queryIntentActivities(intent, 0 );
for( ResolveInfo i : info ) {
String pkg = i.activityInfo.packageName; // 패키지명
String cls = i.activityInfo.name; // 클래스명(android:name)
if( pkg.contains( 패키지명 ) ) {
return new ComponentName( pkg, cls );
}
}
>> 실행중인 서비스 목록 얻기
ActivityManager am = (ActivityManager) context.getSystemService( Context.ACTIVITY_SERVICE );
List<RunningServiceInfo> info = am.getRunningServices( 100 );
for( RunningServiceInfo i : info ) {
i.service.getPackageName();
}
>> 다른 앱의 리소스 접근
컨텐트 프로바이더 : 리소스를 접근할 앱끼지 프로바이더 정의해 사용
parcelable : 리소스 객체를 parcel로 전달
createPackageContext( 패키지명, 0) 으로 해당 패키지의 context를 얻어 사용
'프로그래밍 > Android' 카테고리의 다른 글
GoogleTV 개발환경 설정 (0) | 2014.02.06 |
---|---|
GCM 메시지 전송 (0) | 2013.09.13 |
Dialog (0) | 2013.02.22 |
Fragment 기본 (0) | 2012.12.28 |
EditText 특수문자 입력 제한 (0) | 2012.09.10 |
Parcelable (0) | 2012.05.22 |
Data Animation??? (0) | 2012.04.18 |
Assets 폴더의 이미지 읽기 (0) | 2012.03.15 |
JSON (0) | 2012.01.31 |
HTTP POST/GET 몇가지 정리 (0) | 2012.01.30 |