Как показать процессы, запущенные в android программно?
Я хочу показать список запущенных процессов с помощью программы android.Но он ничего не показывает.Что же делать?? Код приведен ниже:
MainActivity.java:
пакет com.sysinfo.procinfo;
импорт java.util.List;
импорт android.app.Activity;
импорт android.app.ActivityManager;
импорт android.app.ActivityManager.RunningAppProcessInfo;
импорт android.os.Bundle;
импорт android.widget.элемент управления ListView;
импорт android.widget.Тост;
/**
* Начальная точка приложения. Этот класс покажет список запущенных в данный момент программ
* процесс.
*
* @версия 1.0 29-01-2015
*
*/
public class MainActivity расширяет активность {
private ListView mProcessListView = null;
@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
супер.метод onCreate(savedInstanceState);
setContentView(R. layout.activity_main);
initViews();
loadProcessInfo();
}
частные пустые initViews() {
mProcessListView = (элемент управления ListView) findViewById, чтобы найти(ИД Р..processListView);
}
/**
* Получить список запущенных в данный момент процессов.
*/
частный недействительными loadProcessInfo() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<runningappprocessinfo> runningProcesses = manager
.getRunningAppProcesses();
if (runningProcesses != null && runningProcesses.size() > 0) {
mProcessListView
.setAdapter(new ListAdapter(this, runningProcesses));
} еще {
Toast.makeText(getApplicationContext(),
"Запущенный процесс не найден", тост.LENGTH_LONG).показать();
}
}
}
ListAdapter.java
пакет com.sysinfo.procinfo;
импорт java.util.List;
импорт android.app.ActivityManager.RunningAppProcessInfo;
импорт android.content.Контекст;
импорт android.view.LayoutInflater;
импорт android.view.View;
импорт android.view.ViewGroup;
импорт android.widget.Адаптер массива;
импорт android.widget.TextView;
/**
* Адаптер для обработки данных в списке.
* @версия 1.0 29-01-2015
*
*/
открытый класс ListAdapter расширяет ArrayAdapter<runningappprocessinfo> {
частный контекст mContext = null;
частный список<runningappprocessinfo> mProcessList = null;
public ListAdapter(Context context, List<runningappprocessinfo> значения) {
супер(контекст, Р. макета.list_item_process, ценности);
этот.mContext = контекст;
этот.mProcessList = значения;
}
@Ручная коррекция
getView адаптера публичного представления(положение int, вид convertView, ViewGroup родителя) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(контекст.LAYOUT_INFLATER_SERVICE);
Смотреть rowView = насос.надуть(Р. макета.list_item_process, родитель,
ложный);
Виджет TextView имя_приложения = (виджет TextView) rowView.команду findViewById(Р. ИД.параметр processname);
имя_приложения.помощью setText(mProcessList.вам(должность).параметр processname);
вернуться rowView;
}
}
activity_process_info.xml
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android">
описание:инструментов="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
инструменты:context=".ProcessorInfoActivity" >
<textview>
android:id="@+id/View2"
android:layout_width="wrap_removed"
android:layout_height="wrap_removed"
андроид:layout_alignParentLeft="истинный"
андроид:layout_alignParentTop="истинный"
android:lineSpacingExtra="10dp"
android:text="информация о процессоре."
android:textSize="30dp"
android:textStyle="bold" />
<listview> android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
андроид:layout_alignParentLeft="истинный"
android:layout_below="@+id/View2"
андроид:layout_marginLeft="38dp" &ГТ;
Он компилирует код и при запуске на эмуляторе показывает только заголовок Process Info и остальную часть страницы пустой.Где мой код отсутствует?
Richard MacCutchan
Бесполезно просто сбрасывать свой код (неформатированный) и ожидать, что люди скажут вам, что не так. Пожалуйста, отредактируйте свой вопрос, правильно отформатируйте код с помощью тегов "pre"и объясните, где именно он идет не так и почему.
Member 11505839
@Richard..внес изменения plzz смотрите!
David Crow
Делает ли это getView()
метод вызывается? Вам нужно переопределить getCount()
в вашем списке адаптер?