출처: http://www.androidpub.com/1795652try
{
String name = (String) getPackageManager().getApplicationLabel(getPackageManager().getApplicationInfo(
"packageName"
, PackageManager.GET_UNINSTALLED_PACKAGES));
}
catch
(NameNotFoundException e1) {
e1.printStackTrace();
}
//////////////////////////////////////////////////////////////////////////////
출처: http://shadowxx.egloos.com/10489531
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(mContext.ACTIVITY_SERVICE);
List<RunningTaskInfo> info;
info = activityManager.getRunningTasks(7);
for (Iterator iterator = info.iterator(); iterator.hasNext();) {
RunningTaskInfo runningTaskInfo = (RunningTaskInfo) iterator.next();
if(runningTaskInfo.topActivity.getClassName().equals("com.android.ABCApplication.ABCApplication")) {
Log.e("ABCApplication","ABCApplication is running");
return true;
}
}
쉽 게 말하면 위에 getRunningTasks 에서 7개의 Acitivity 를 가지고 옵니다. 물론 실행중인 Activity 가 7개보다 적으면 실행되고 있는 모든 Activity 를 가지고 옵니다. 이렇게 가지고 온 Activity 에서 ABCApplication이 있으면 return true; 한 것입니다. 위에서 7 대신에 1을 사용하면 바로 최고 위에 실행중인 Activity 를 가지고 올 수 있는 것입니다.
다음과 같은 방법으로 패키지 및 패키지의 하위 클래스도 확인 할수 있습니다.
String pkgName = runningTaskInfo.topActivity.getPackageName();
String className = runningTaskInfo.topActivity.getClassName();
if((pkgName.equals("com.company.android.app.ABCPackage"))&& (className.equals("com.company.android.app.ABCPackage.abc.ABCClass"))) {
..
///////////////////////////////////////////////////////////////
public String getClassName(Context context)
{
ActivityManager activitymanager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningtaskinfo = activitymanager.getRunningTasks(2);
String className = runningtaskinfo.get(0).topActivity.getClassName();
return className;
}
'구글과인터넷 > 구글의특별한기능' 카테고리의 다른 글
구글 웹로그 분석(WebLog Analytics) 계정 만들기 (0) | 2013.01.01 |
---|---|
Google CodePro AnalytiX 소개 - 안드로이드 개발/테스트를 위한 정적분석 도구 Static Analysis 이야기 (0) | 2012.12.12 |
구글 닥스, ZIP와 RAR 압축 파일 지원 (0) | 2011.09.16 |