【问题标题】:Extract running processes android提取正在运行的进程android
【发布时间】:2014-04-04 09:22:51
【问题描述】:

我正在使用此代码来获取正在运行的进程

public class ProcessFragment extends ListFragment  {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getRunningProcess();
}
private void getRunningProcess() {
{
final ActivityManager manager = (ActivityManager)    getActivity().getSystemService(Context.ACTIVITY_SERVICE);
PackageManager pm;
List<RunningAppProcessInfo> runningProcesses = manager.getRunningAppProcesses();
if (runningProcesses != null && runningProcesses.size() > 0) {
setListAdapter(new ListAdapter(getActivity(), runningProcesses));   
    } else {    
Toast.makeText(getActivity().getApplicationContext(), "No application is running", Toast.LENGTH_LONG).show();
}
}

这里是我的适配器

public class ListAdapter extends ArrayAdapter<RunningAppProcessInfo> {
private final Context context;
private final List<RunningAppProcessInfo> values;
public ListAdapter(Context context, List<RunningAppProcessInfo> values) {
super(context, R.layout.process, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.process, parent, false);
TextView appName = (TextView) rowView.findViewById(R.id.appNameText);
appName.setText(values.get(position).processName);
return rowView;
}

}

我正在获取包名称列表。如何获取应用程序名称??

【问题讨论】:

    标签: android


    【解决方案1】:

    在大多数情况下,您应该能够使用:

    PackageManager pm = this.getPackageManager(); //assuming you're running from an activity
                                                  //use a context otherwise
    ApplicationInfo appInfo = pm.getApplicationInfo(values.get(position).processName, PackageManager.GET_META_DATA);
    String appName = pm.getApplicationLabel(appInfo).toString();
    appName.setText(appName);
    

    【讨论】:

    • @BirajZalavadia 不,伙计,我实际上使用 OP 的上下文和设置为 OP 编写了代码。他实际上可以将此代码放入他的应用程序中 - 它会起作用。另一方面,您只是粘贴了其他人的答案,甚至没有尝试将其应用于原始问题。
    • 我不只是复制和粘贴我在我的电脑上测试然后发布它。但是,我对您投了反对票,但现在对您投了赞成票。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2014-03-07
    • 2012-01-16
    • 2015-03-09
    • 1970-01-01
    相关资源
    最近更新 更多