2011-11-11 1 views

Répondre

0

raccourcis d'application:

Vous pouvez lister les applications installées avec:

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

     for (ApplicationInfo packageInfo : packages) { 

      Log.d(TAG, "Installed package :" + packageInfo.packageName); 
      Log.d(TAG, 
        "Launch Activity :" 
          + pm.getLaunchIntentForPackage(packageInfo.packageName)); 

     }// the getLaunchIntentForPackage returns an intent that you can use with startActivity() 
    } 

Si vous avez besoin de plus d'informations comme icône de l'application vérifier: How to get a list of installed android applications and pick one to run

Ensuite, vous pouvez ajouter une mise en page avec un ListView à la page Fragment/Activity.

Ajoutez dans l'adaptateur pour ListView les applications souhaitées et les événements onClick pour créer une intention de les ouvrir.

Je pense que cela est la meilleure façon de montrer une liste d'applications, avec des icônes etc.

Widgets: I jamais vu des widgets à l'intérieur d'une application, mais selon la réponse ci-dessous https://stackoverflow.com/a/8218587/327011 apparemment il y a une façon.

Si vous êtes intéressé par quelque chose d'un peu différent ... vous pouvez créer un écran d'accueil personnalisé, et l'utiliser à la place de la coutume. Ce ne sera pas une application.

+0

@NeTelnStEiN Il veut ajouter des widgets, dossier en direct, les raccourcis, etc. .. comme dans le HomeScreen par défaut que nous faisons. – Pawan

1

Voici une question similaire (en partie sur les widgets): Any AppWidgetHost-tutorials out there?

Et here est un tutoriel AppWidgetHost avec un exemple de travail la plupart du temps. Au moins, c'est un bon point de départ.

Note: il y a une faute de frappe dans la ligne 176 de l'exemple:

int appWidgetId = WidgetScreen.this.mAppWidgetHost.allocateAppWidgetId(); 

devrait être remplacé par

int appWidgetId = mAppWidgetHost.allocateAppWidgetId(); 
Questions connexes