【发布时间】:2011-03-01 23:01:50
【问题描述】:
如何以编程方式检查 Android 设备上运行的特定进程的状态(暂停/运行/暂停)?我想在我的应用程序中包含这个逻辑。
使用ActivityManager,我可以检索设备上运行的所有进程的列表,但它没有显示任何进程状态信息。关于如何检索此信息的任何想法?
提前致谢。
【问题讨论】:
标签: android process android-activity state
如何以编程方式检查 Android 设备上运行的特定进程的状态(暂停/运行/暂停)?我想在我的应用程序中包含这个逻辑。
使用ActivityManager,我可以检索设备上运行的所有进程的列表,但它没有显示任何进程状态信息。关于如何检索此信息的任何想法?
提前致谢。
【问题讨论】:
标签: android process android-activity state
当我在问题中提到使用 ActivityManager 检索的进程列表中没有进程状态信息时,我错了。
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> list2= am.getRunningAppProcesses();
for (RunningAppProcessInfo ti : list2) {
Log.i("IMPORTANCE CODE",String.valueOf(ti.importance));
}
ti.importance 检索一个常量值,该值描述进程是否正在运行 FOREGROUND、BACKGROUND、Empty of code 等...
更多信息可以在以下位置找到:
http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html
谢谢, 纳文
【讨论】:
您可以关注activity lifecycle。把你的逻辑放在每个状态。不知道activity中是否有get状态。
public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
【讨论】: