2014-03-28 1 views
-1

안드로이드 전화에 설치된 모든 응용 프로그램 목록을 가져오고 싶습니다. 다음 코드에 따라 사용자가 설치된 앱만 가져올 수 있지만 시스템 앱도 갖기를 원합니다.안드로이드 전화에있는 모든 응용 프로그램을 받으십시오

packageManager = getPackageManager(); 
     List<PackageInfo> packageList = packageManager.getInstalledPackages(packageManager.GET_PERMISSIONS);//PackageManager.GET_META_DATA 

    List<PackageInfo> packageList1 = new ArrayList<PackageInfo>(); 
    PackageManager pm = this.getPackageManager(); 
    /*To filter out System apps*/ 
    for(PackageInfo pi : packageList) { 
     boolean b = isSystemPackage(pi); 
     if(!b) { 
      packageList1.add(pi); 
     } 
    } 
    apkList = (ListView) findViewById(R.id.AppList); 
    apkList.setAdapter(new ApkAdapter(this, packageList1, packageManager)); 

    apkList.setOnItemClickListener(this); 
} 

private boolean isSystemPackage(PackageInfo pkgInfo) { 
     return ((pkgInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) ? true 
       : false; 
    } 

답변

0

이 시도 :

final PackageManager pm = getActivity().getPackageManager(); 
Intent intent = new Intent(Intent.ACTION_MAIN, null); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA); 

그것은 희망은 도움이 ...!

+0

내게 모든 앱을 제공하지 않습니다. –

+0

출력은 무엇입니까? – Lokesh

+0

그것은 단지 사용자가 설치된 응용 프로그램을 제공 –

관련 문제