如何从英语语言环境中获取其资源的任何应用程序的名称?

时间:2013-11-04 07:57:25

标签: android locale

我可以使用以下代码获取应用程序的名称:

PackageInfo appInfo = pm.getPackageInfo(packageName, 0);
String      label   = appInfo.applicationInfo.loadLabel(pm).toString();

它以默认语言环境提供应用程序的名称。但我需要用英语。

我也尝试过:

int    id    = context.getResources().getIdentifier("app_name","string",packageName);
String label = context.getString(id);

id == 0总是

现在我的问题是: 如何从资源res/values/strings.xml - app_name获取应用程序的名称,知道包的名称?

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

获取已安装应用的名称:

String appName = (String)pm.getApplicationLabel(appInfo);

app_name方法不起作用的原因是这是默认设置,但并不总是使用的方法。

答案 1 :(得分:1)

我用另一种方式解决了这个问题。 How to change locale of another app?特别感谢Matt Clark!