Obtenir le nom de l'application à partir du nom du package

Je souhaite obtenir le nom de l'application à partir du nom du package de l'application. Quelqu'un montre-moi comment je peux le faire.

public class AppInstalledListener extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String action = intent.getAction(); if(action.equals("android.intent.action.PACKAGE_ADDED")){ Logger.debug("DATA:"+intent.getData().toString()); } if(action.equals("android.intent.action.PACKAGE_REMOVED")){ Logger.debug("DATA:"+intent.getData().toString()); } if(action.equals("android.intent.action.PACKAGE_REPLACED")){ Logger.debug("DATA:"+intent.getData().toString()); } } } 

  • Android Studio 2.0 Aperçu 2 problème avec Renderscript
  • Comment écrire du texte courbé?
  • Android GCM SENDER_ID, comment l'obtenir?
  • Erreur Eclipse: R ne peut pas être résolu à une variable
  • AlarmManager setExact avec WakefulBroadcastReceiver parfois pas exact
  • Java.lang.IllegalStateException: YouTubeServiceEntity erreur non initialisée lors de l'utilisation de YouTubePlayerApi
  • 4 Solutions collect form web for “Obtenir le nom de l'application à partir du nom du package”

    Vous pouvez utiliser la classe PackageManager pour obtenir ApplicationInfo :

     final PackageManager pm = getApplicationContext().getPackageManager(); ApplicationInfo ai; try { ai = pm.getApplicationInfo( this.getPackageName(), 0); } catch (final NameNotFoundException e) { ai = null; } final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)"); 

    Cela renverrait le nom de l'application tel que défini dans la <application> de son manifeste.

    Essaye ça

     final String packageName = "my.application.package" PackageManager packageManager= getApplicationContext().getPackageManager(); String appName = (String) packageManager.getApplicationLabel(packageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA)); 

    Et remplacez packageName par le nom complet de votre paquet.

    Vous pouvez obtenir packageName en utilisant mContext.getPackageName()mContext = yourActivityName.this for Activity et getActivity () for fragment.

    Il semble que vous puissiez recevoir l'événement d'un nouveau paquet ajouté après que c'est un concept très simple pour obtenir toutes les informations pertinentes sur ce paquet comme une telle information est le nom de la demande alors voici le concept

    -> votre gestionnaire de paquetage de périphérique a toutes les informations qui lui sont liées, alors faites simplement un objet pour qu'il vous fournisse toutes les informations relatives au nom du package.

    -> Vous devriez également vous rappeler que l'intention vous donne "package: real_package_name", d'abord vous devez d'abord avoir un nom réel en renversant (j'ai utilisé) ou par toute autre implémentation simple de String

    -> Voici le code, j'espère que vous obtiendrez ce que vous voulez. Je donne également des informations sur la façon dont vous pouvez obtenir le nom de l'application, l'icône de l'application, la version de l'application, le code de la version de l'application, etc.

      public class NewAppReciver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals("android.intent.action.PACKAGE_ADDED")){ String[] a=intent.getData().toString().split(":"); String packageName=a[a.length-1]; List<PackageInfo> packageInfoList = context.getPackageManager().getInstalledPackages(0); for (int i = 0; i < packageInfoList.size(); i++) { PackageInfo packageInfo = packageInfoList.get(i); if(packageInfo.packageName.equals(packageName)){ String appName = packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString(); String appVersion = packageInfo.versionName; int appVerCode = packageInfo.versionCode; Drawable app_icon = packageInfo.applicationInfo.loadIcon(context.getPackageManager()); } } } } } 

    Mais au moment de la désinstallation de l'application, vous ne pouvez obtenir le nom du package que dans l'installation de l'installation, tout le reste des informations est supprimé par le système.

     PackageManager pm = getPackageManager(); IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.MAIN"); filter.addCategory("android.intent.category.HOME"); filter.addCategory("android.intent.category.DEFAULT"); Context context = getApplicationContext(); ComponentName component = new ComponentName(context.getPackageName(), TestReplaceHomeAppActivity.class.getName()); ComponentName[] components = new ComponentName[] {new ComponentName("com.android.launcher", "com.android.launcher.Launcher"), component}; pm.clearPackagePreferredActivities("com.android.launcher"); pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.