从包名称获取应用程序的名称 [英] get application name from package name
本文介绍了从包名称获取应用程序的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从应用程序包名的应用程序名称。有人请告诉我,我怎样才能得到这一点。
公共类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屋!
查看全文