Obtener el nombre de la aplicación del nombre del paquete

Quiero obtener el nombre de la aplicación del nombre del paquete de aplicación. Alguien por favor muéstrame cómo puedo conseguir esto.

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()); } } } 

Puede utilizar la clase PackageManager para obtener 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)"); 

Esto devolverá el nombre de la aplicación como se define en la etiqueta <application> de su manifiesto.

Prueba esto

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

Y reemplace packageName con el nombre completo del paquete.

Puede obtener packageName usando mContext.getPackageName() donde mContext = yourActivityName.this para Activity y getActivity () para el fragmento.

Parece que usted es capaz de recibir el evento de nuevo paquete añadido después de que su un concepto muy simple para obtener toda la información pertinente sobre ese paquete como una de esas informaciones es el nombre de la aplicación por lo que aquí es el concepto

-> el administrador de paquetes de dispositivo tiene toda la información relacionada con él tan sólo hacer un objeto de que le dará toda la información relacionada con el nombre del paquete.

-> También debes recordar que la intención te da "package: real_package_name" así que primero tienes que conseguir el nombre verdadero primero derramando (yo usé) o por cualquier otra implementación simple de String

-> Aquí está el código espero que usted conseguirá lo que usted quiere yo también estoy dando la información sobre cómo usted puede conseguir el nombre de la aplicación, el icono de la aplicación, la versión de la aplicación, el código de la versión de la aplicación 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()); } } } } } 

Pero en el momento de la desinstalación de la aplicación sólo se puede obtener el nombre del paquete como en la instalación Un toda la otra información se quita por el sistema.

 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); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.