2013-10-29 3 views
0

패키지 이름이 아닌 실행중인 응용 프로그램의 이름 만 가능합니까? 지금이 코드가 있습니다 :패키지 이름이 아닌 응용 프로그램을 실행하는 이름

ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE); 
     List<RunningAppProcessInfo> processes = am.getRunningAppProcesses(); 

     if (processes != null){ 
      for (int i=0; i<processes.size(); i++){ 
       RunningAppProcessInfo temp = processes.get(i); 
       String pName = temp.processName; 
       Log.d("Running process: ", pName); 
      } 
     } 

그러나 com.android.camera과 같은 패키지 이름을 반환합니다. camera 또는 예를 들어 Nova launcher과 같이 필요합니다.

+1

확인 [SO] (http://stackoverflow.com/questions/3861073/get-active-application-name-in-android) –

+0

감사합니다. –

답변

1

이 시도 : 매니페스트의 태그에 정의 된

final PackageManager pm = getApplicationContext().getPackageManager(); 
ApplicationInfo ai; 
try { 
    ai = pm.getApplicationInfo(this.getPackageName(), 0); 
} 
    catch (final NameNotFoundException e) { 
    ai = null; 
} 
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)"); 

이 응용 프로그램 이름을 반환합니다.