2011-08-12 3 views
0

getPackageManager(). getInstalledPackages (0)에 의해 리턴 된 List와 함께 사용될 때 indexOf()의 오브젝트 매개 변수는 무엇입니까? 필자는 packageName을 비교하는 비교 자로 목록에서 Collections.sort를 수행했다. 나는 packageName 인 문자열을 기반으로 indexOf를 가져오고 싶지만 어떻게 그 매개 변수가 형성 될지 파악할 수 없다. 나는 getInstalledPackages에 의해 리턴 된 arraylist의 안드로이드 인덱스

PackageInfo searchInfo = new PackageInfo(); 
     searchInfo.packageName = procName; 
     int nameIndex = packs.indexOf(searchInfo); 

을 시도하고 -1을 반환

답변

0
당신이 code.Here 당신이 여기서 packageName와 비교할 수 있습니다 볼 수 있습니다

.....

List<ApplicationInfo> packages; 
    PackageManager pm; 
    pm = getPackageManager(); 
      get a list of installed apps. 
      packages = pm.getInstalledApplications(0); 

ActivityManager mActivityManager = (ActivityManager) context 
       .getSystemService(Context.ACTIVITY_SERVICE); 

    for (ApplicationInfo packageInfo : packages) { 
    if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue; 
    if(packageInfo.packageName.equals("mypackage")) continue; 



         } 
+0

나는 이미 반복을 사용하고있다. 그러나 그것은 오랜 시간이 걸리고 나는 정렬과 indexOf가 더 빠를 것이기를 바랐다. – ron

0

확인이 줄을 : int nameIndex = packs.indexOf(searchInfo); 그리고 관찰해라 searchInfo

+0

죄송합니다. 제 질문을 아주 분명하게 말했습니다. 객체 매개 변수가 제대로 작동하려면 어떻게 구성되어야하는지 알아야합니다. – ron

관련 문제