2013-07-21 16 views
1

我想知道如何從應用程序中加載drawables或圖標及其應用程序名稱和活動。我看了很多已經可用的例子,但不知道如何在這裏實現它們。如果任何人都可以指導我,那會很棒。如何在android listview中加載帶有應用程序名稱的可繪製圖標

public void loadApps() { 
     final Intent main=new Intent(Intent.ACTION_MAIN, null); 
     final PackageManager pm = getPackageManager(); 

     int i=0; 
     int j=0; 
     String tmpNick=""; 

     if(pkg.Name.size()!=0) {pkg.Name.clear(); pkg.Activity.clear(); pkg.Nick.clear();} 


     switch(checkedRadioButton) { 
     case 0: 
       // LAUCHABLES VARIANT OF LOAD APPS 


       for(i=0; i<pkgExtra.Name.size(); i++ ) 
       { 
        pkg.Name.add(pkgExtra.Name.get(i)); 
        pkg.Nick.add(pkgExtra.Nick.get(i)); 
        pkg.Activity.add(pkgExtra.Activity.get(i)); 
       } 

       main.addCategory(Intent.CATEGORY_LAUNCHER); 
       final List<ResolveInfo> launchables=pm.queryIntentActivities(main, 0); 

       for(ResolveInfo launchable : launchables) 
       {     
        if (ItemNumInHide(launchable.activityInfo.name)==-1) 
        { 
         pkg.Name.add(launchable.activityInfo.packageName); 
         pkg.Activity.add(launchable.activityInfo.name); 
         pkg.Nick.add(launchable.activityInfo.loadLabel(pm).toString()); 
        } 


       } 

     break; 
     case 1: 

       final List<ResolveInfo> launchables2=pm.queryIntentActivities(main, 0); 
       ) 
       int length=0; 
       for(ResolveInfo launchable : launchables2) 
       { 
        String[] tmpSplit = new String[10]; 


        //acInfo=launchable.activityInfo; 

        tmpSplit=launchable.activityInfo.name.split("\\."); 
        length=tmpSplit.length; 

        pkg.Name.add(launchable.activityInfo.packageName); 
        pkg.Activity.add(launchable.activityInfo.name); 
        tmpNick=""; 
        tmpNick=tmpSplit[1]; 
        for(j=2; j<length; j++) { 
         tmpNick=tmpNick + ":" + tmpSplit[j]; 
        } 

        pkg.Nick.add(tmpNick); 
        //pkg.Nick.add(tmpSplit[length-2]+ ":" +tmpSplit[length-1]); 
       } 


     break; 
     case 2: 


      //final List<ResolveInfo> launchables3=pm.queryIntentActivities(main, 0); 


      // pkg.last=pkgExtra.Name.size()-1; 
      for(i=0; i<pkgExtra.Name.size(); i++ ) 
      { 

       //tmpSplit=acInfo.name.split("\\."); 
       // length=tmpSplit.length; 

       pkg.Name.add(pkgExtra.Name.get(i)); 
       pkg.Nick.add(pkgExtra.Nick.get(i)); 
       pkg.Activity.add(pkgExtra.Activity.get(i)); 
      } 

     break; 
     case 3: 



      //pkg.last=pkgHide.Name.size()-1; 
      for(i=0; i<pkgHide.Name.size(); i++ ) 
      { 

       //tmpSplit=acInfo.name.split("\\."); 
       // length=tmpSplit.length; 

       pkg.Name.add(pkgHide.Name.get(i)); 
       pkg.Nick.add(pkgHide.Nick.get(i)); 
       pkg.Activity.add(pkgHide.Activity.get(i)); 
      } 

     break; 
     } 
     pkg.Name.add(app_package_name+".Menu"); 
     pkg.Nick.add(" Menu-Launcher"); 
     pkg.Activity.add(app_package_name+".Menu"); 

} 

}

回答

相關問題