ver una studio saber programacion play paquete nombre google descargue cuando como cambiar app aplicaciones aplicacion android

android - una - obtener el nombre de la aplicación del nombre del paquete



nombre de paquete android (5)

Quiero obtener el nombre de la aplicación del nombre del paquete de la 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()); } } }


Parece que puede recibir el evento de nuevo paquete agregado después de que es un concepto muy simple para obtener toda la información relevante sobre ese paquete, como una de esas informaciones es el nombre de la aplicación, así que aquí está el concepto

-> el administrador de paquetes de su dispositivo tiene toda la información relacionada, así que simplemente haga un objeto de que le dará toda la información relacionada con el nombre del paquete.

-> También debes recordar que el intento te da "package: real_package_name", así que primero debes obtener el nombre real primero mediante spilling (I used) o mediante cualquier otra implementación simple de String.

-> Aquí está el código. Espero que obtengas lo que quieres. También estoy dando información sobre cómo puedes obtener 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, solo puede obtener el nombre del paquete, ya que en la instalación de Un, el sistema elimina toda la demás información.


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 su nombre completo de paquete.

puedes obtener packageName usando mContext.getPackageName() donde mContext = yourActivityName.this para Activity y getActivity () para fragmentar.


Puede usar 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ía el nombre de la aplicación como se define en la etiqueta <application> de su manifiesto.


public static String getAppNameFromPkgName(Context context, String Packagename) { try { PackageManager packageManager = context.getPackageManager(); ApplicationInfo info = packageManager.getApplicationInfo(Packagename, PackageManager.GET_META_DATA); String appName = (String) packageManager.getApplicationLabel(info); return appName; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return ""; } }


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