从包名称获取应用程序的名称 [英] get application name from package name

查看:149
本文介绍了从包名称获取应用程序的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从应用程序包名的应用程序名称。有人请告诉我,我怎样才能得到这一点。

 公共类AppInstalledListener扩展的BroadcastReceiver {

    @覆盖
    公共无效的onReceive(上下文的背景下,意图意图){
        // TODO自动生成方法存根
        串动= intent.getAction();
        如果(action.equals(android.intent.action.PACKAGE_ADDED)){
            Logger.debug(DATA:+ intent.getData()的toString());
        }
        如果(action.equals(android.intent.action.PACKAGE_REMOVED)){
            Logger.debug(DATA:+ intent.getData()的toString());
        }
        如果(action.equals(android.intent.action.PACKAGE_REPLACED)){
            Logger.debug(DATA:+ intent.getData()的toString());
        }
    }
}
 

解决方案

您可以使用 PackageManager 类获得 ApplicationInfo

 最后PackageManager PM = getApplicationContext()getPackageManager()。
ApplicationInfo爱;
尝试 {
    AI = pm.getApplicationInfo(this.getPackageName(),0);
}赶上(最终的NameNotFoundException E){
    AI = NULL;
}
最后弦乐的applicationName =(字符串)(AI = NULL pm.getApplicationLabel(AI):!?(未知));
 

中定义这将返回应用程序的名称<应用> 其明显的标签

I want to get the application name from application package name. Somebody please show me how I can get this.

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

解决方案

You can use PackageManager class to obtain 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)");

This would return the application name as defined in <application> tag of its manifest.

这篇关于从包名称获取应用程序的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆