2013-01-17 8 views
2

다음 요구 사항을 충족하는 Android 애플리케이션을 개발하려고합니다. 어떤 방법으로 코드를 통해, 나는 디버그 모드에서 장치에 설치된 애플 리케이션의 목록을 얻을 수 있습니다.Android - 디버그 모드에서 앱 목록 가져 오기

미리 감사드립니다.

EDIT - 다음 코드를 시도했습니다. 이 응용 프로그램을 킥오프하기 위해 당신에게 충분한 정보를 제공해야

Intent main = new Intent(Intent.ACTION_MAIN, null); 
main.addCategory(Intent.CATEGORY_LAUNCHER); 
List pkgAppsList = context.getPackageManager().queryIntentActivities(main, 0); 

다음
PackageManager pm = getPackageManager(); 
     List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); 

     for (int i=0; i < packages.size(); i++) 
      { 
       if ((packages.get(i).flags & ApplicationInfo.FLAG_SYSTEM) == 1) 
       { 
        //This is for System applications 
       } 
       else 
       { 

        boolean isDebuggable = (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)); 

        if((pm.getLaunchIntentForPackage(packages.get(i).packageName)!=null) && (isDebuggable = true))     
        { 
         // Only For Apps with debug mode set true, this line should get executed 
         // But this does not happens 
        } 
       } 
      } 
+0

"디버그 모드"로 정의하십시오. – CommonsWare

+0

android manifest xml에서 android debuggable 속성이 true로 설정된 경우 해당 앱이 Android 디버그 모드로 설정됩니다. – Prem

답변

1

나는 다양한 방법을 시도했지만 내 이해에 따라 디버그 모드에서 별도로 앱 목록을 가져올 수 없습니다.

플래그를 사용하면이 코드가 포함 된 앱만 사용할 수 있으며 기기에서 실행중인 다른 앱은 사용할 수 없습니다.

감사합니다. 다른 생각이 있다면 누구에게 알려주십시오.

2

가고.

+0

고마워,하지만이 방법이 작동하지 않는다 ... 디버그 모드로 배포 된 앱뿐만 아니라 모든 앱이 포함되어있다. – Prem

+0

내 사과로, 디버그 모드 자체에있는 앱 내에서 앱 목록을 원한다고 생각했다. "디버그 모드 응용 프로그램". –

+0

activityInfo의 taskAffinity 문자열을 사용하여 패키지 이름을 가져온 다음 getPackageManager(). getApplicationInfo()로 전달하여 FLAG_DEBUGGABLE을 확인하십시오. –

관련 문제