1

アプリ名とアクティビティとともに、アプリケーションからドローアブルまたはアイコンをロードするためにこれをどのように取得できるか疑問に思っていました。すでに利用可能な多くの例を見ましたが、ここにそれらを実装する方法がわかりませんでした。誰かが私を導くことができれば、それは素晴らしいことです。

  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");

}  

}

4

1 に答える 1