PackageManager pm = this.getPackageManager();
ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses();
for(RunningAppProcessInfo process : runningAppProcesses) {
try {
ApplicationInfo ai = pm.getApplicationInfo(process.processName, PackageManager.GET_META_DATA);
Log.d(TAG, applicationInfo.name + "");
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
process.processName返回有效的包名称,但applicationInfo.name始终为null.
Rag*_*har 31
用于applicationInfo.loadLabel(packageManagerInstance)查找应用程序名称,但应该有一个applicationInfo.name不起作用的原因.
编辑
applicationInfo.nameApplication如果您有子类的名称.
名称为null的原因是它确实是... null.
请参阅Android清单文档:
android:name为应用程序实现的Application子类的完全限定名称.启动应用程序进程时,将在任何应用程序的组件之前实例化此类.
子类是可选的; 大多数应用程序不需要一个.在没有子类的情况下,Android使用基本Application类的实例.
你想要的是应用程序的名称,它在应用程序标签的label属性中设置,并且Ragunath解释了如何获取.
| 归档时间: |
|
| 查看次数: |
9186 次 |
| 最近记录: |