- 浏览: 176306 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
dupeng41255:
问一下,。com的接口 是不是需要注册啊?我调用的时候返回说需 ...
java实现whois域名查询 -
feiyu86:
比喻的非常贴切。。
synchronized方法和代码块的使用 -
罡风笑:
贴结果:CBH 蜀汉 绝顶 刀客
开心一下 你古代的身份。超级好玩~
RunningTaskInfo
范例说明
Android操作系统并没有提供任务管理器程序,无从得知后台有哪些程序正在运行。本范例是通过ActivityManager.getRunningTasks方法来取得正在运行中的工作程序,并使用ListView将之罗列出来。
这里说的"正在运行"是指单击"按钮"时所获取到的信息,如果放在ListView里的工作已经结束,或者被操作系统回收(Garbage Collection,GC),此时是不会更新运行列表的,而由于没有其他运行中工作的访问权限,因此也不能通过本程序关闭。
在以下范例的Layout里,设计一个TextView、一个ListView以及一个按钮,通过按钮单击的事件,同时向系统ActivityManager取出正在运行的Activity Tasks。
运行结果(见图5-23)
图5-23 任务管理器正在运行的程序,包含了正在运行的Activity |
范例程序
- src/irdc.ex05_21/EX05_21.java
在访问系统Activity的运行工作时,必须指定要取得的工作数量,因为资源有限,所以在类成员中设置了最多取出30笔的Activity运行工作。
单击按钮之后,便会使得私有类成员mActivityManager重新向系统取得ACTIVITY_SERVICE服务(getSystemService(ACTIVITY_SERVICE);),接着创建List<ActivityManager.RunningTaskInfo>对象,并在构建时,使用getRunningTasks()方法获取正在后台运行中的Activity。
由于取出的对象为List对象,因此程序通过for循环的方式,取出其ActivityManager. RunningTaskInfo里的属性,如Activity的名称(baseActivity.getClassName())及ID(Activity- Manager.RunningTaskInfo.id)。
/* import程序略 */ import android.app.ActivityManager; import android.widget.ListView; public class EX05_21 extends Activity { private Button mButton01; private ListView mListView01; private ArrayAdapter<String> aryAdapter1; private ArrayList<String> arylistTask; /* 类成员设置取回最多几笔的Task数量 */ private int intGetTastCounter = 30; /* 类成员ActivityManager对象 */ private ActivityManager mActivityManager; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton01 = (Button) findViewById(R.id.myButton1); mListView01 = (ListView) findViewById(R.id.myListView1); /* 单击按钮取得正在后台运行的任务程序 */ mButton01.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub try { /* ActivityManager对象向系统取得ACTIVITY_SERVICE */ mActivityManager = (ActivityManager) EX05_21.this .getSystemService(ACTIVITY_SERVICE); arylistTask = new ArrayList<String>(); /* 以getRunningTasks方法取回正在运行中的程序TaskInfo */ List<ActivityManager.RunningTaskInfo> mRunningTasks = mActivityManager .getRunningTasks(intGetTastCounter); int i = 1; /* 以循环及baseActivity方式取得任务名称与ID */ for (ActivityManager.RunningTaskInfo amTask : mRunningTasks) { /* baseActivity.getClassName取出运行任务名称 */ arylistTask.add("" + (i++) + ": " + amTask.baseActivity.getClassName() + "(ID=" + amTask.id + ")"); } aryAdapter1 = new ArrayAdapter<String>(EX05_21.this, R.layout.simple_list_item_1, arylistTask); if (aryAdapter1.getCount() == 0) { /* 当没有任何运行的任务,则提示信息 */ mMakeTextToast(getResources().getText( R.string.str_err_no_running_task).toString(), true); } else { /* 发现后台运行的任务程序,以ListView Widget条列呈现 */ mListView01.setAdapter(aryAdapter1); } } catch (SecurityException e) { /* 当无GET_TASKS权限时(SecurityException异常)提示信息 */ mMakeTextToast(getResources().getText( R.string.str_err_permission).toString(), true); } } }); /* 当User在运行任务选择时的事件处理 */ mListView01 .setOnItemSelectedListener(new ListView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View v, int id, long arg3) { // TODO Auto-generated method stub /* 由于将运行任务以数组存放,故以id取出数组元素名称 */ mMakeTextToast(arylistTask.get(id).toString(), false); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); /* 当User在运行任务上单击时的事件处理 */ mListView01.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int id, long arg3) { // TODO Auto-generated method stub /* 由于将运行任务以数组存放,故以id取出数组元素名称 */ mMakeTextToast(arylistTask.get(id).toString(), false); } }); } public void mMakeTextToast(String str, boolean isLong) { if (isLong == true) { Toast.makeText(EX05_21.this, str, Toast.LENGTH_LONG).show(); } else { Toast.makeText(EX05_21.this, str, Toast.LENGTH_SHORT).show(); } } }
来自:http://book.51cto.com/art/201007/212202.htm
发表评论
-
Android 属性动画(Property Animation) 完全解析 (下)
2016-02-22 14:49 1064版权声明:本文为博主原创文章,未经博主允许不得转载。 ... -
Android 属性动画(Property Animation) 完全解析 (上)
2016-02-22 14:47 729版权声明:本文为博主原创文章,未经博主允许不得转载。 ... -
Windows系统中Maven的安装与配置以及m2eclipse插件的安装
2014-04-30 16:06 1190近期公司的一个项目需要用maven搭建,所以把maven的环 ... -
Gallery自动循环滚动,手动滚动的平滑切换及存在问题
2012-11-06 10:51 3544来自:http://blog.csdn.net/lenghun ... -
Gallery自动循环滚动,手动滚动的平滑切换及存在问题
2012-11-06 10:34 7来自:http://blog.csdn.net/lenghun ... -
VLC for Android on Linux
2012-07-12 14:28 1942来自:http://wiki.videolan.org/And ... -
Android模拟器对应电脑键盘快捷键
2012-01-10 00:01 1425Home键(小房子键) 在键盘上映射的是home键。 ... -
Android的gallery实现无限循环和降低选择频率
2011-07-20 17:55 1485gallery是一个很好用的控 ... -
Android编译问题:Only 64-bit build environments are supported beyond froyo/2.2
2011-03-07 19:01 1134在使用: $ repo init -u git://An ... -
任务管理器正在运行的程序(2)
2010-12-23 14:36 1736RunningTaskInfo AndroidManifes ... -
android 监听文件和目录的创建删除移动等事件
2010-11-11 15:14 1769android.os下的FileObserver类是一个 ... -
animation知识学习
2010-10-22 14:07 2036LinearInterpolator 变化率是个常数,即 f ... -
Android 页面切换动画效果
2010-10-18 12:54 4176在Android 2.0之后有了ove ... -
android自适应屏幕方向和大小
2010-09-27 16:51 1752一:不同的layoutAndroid手机屏幕大小不一,有 ... -
Android图片处理的的一些方法
2010-08-02 18:54 63291.图片加载方法,方便用户加载图片 /**** 加载本地图片 ... -
OMA-SyncML-DataSyncProtocol-V1_1_2-20030612-A
2010-07-02 12:12 673手机联系人等信息同步中使用 -
Android取得屏幕分辨率
2010-05-31 10:32 957WindowManager windowManager = g ... -
Content Providers
2010-03-04 23:21 1198来源:http://developer.andro ... -
Android基础 : Android Content Provider[转]
2010-03-02 23:09 1107Android应用程序可以使用文件或SqlLite数据库来存储 ... -
Android 联系人开发- 保存联系人
2010-03-02 22:46 4757最近在开发android平台的联系人部分,有点总结和大家分享一 ...
相关推荐
进入任务管理器后,我们主要关注“详细信息”或“进程”选项卡,这里列出了所有正在运行的进程。找到你想要查找的程序,通常可以通过进程名称来识别。如果你不清楚进程名,可以参考程序的窗口标题或图标。 在“详细...
在C#编程中,有时我们需要确保我们的应用程序能够在不受外部因素如任务管理器干扰的情况下持续运行。标题提到的“防止C#应用程序被任务管理器结束”实际上涉及到的是进程保护技术,尤其是针对用户尝试通过任务管理器...
1. **进程管理**:仿制的任务管理器应当能列出所有运行的进程,包括前台应用程序和后台服务。用户应能查看每个进程的详细信息,如进程ID、内存占用、CPU使用率等,并能够终止不需要的进程。 2. **性能监控**:参照...
在本文中,我们将深入探讨如何使用...通过这种方式,我们能够编写一个C#程序,它可以实时获取Windows任务管理器中运行的所有应用程序的名称。这为系统监控和性能分析提供了一个基础,也可以用于创建更复杂的系统工具。
1. 任务管理器的功能:任务管理器提供了用户计算机上正在运行的程序和进程的相关信息,包括应用程序、进程和性能三个选项卡。 2. 应用程序选项卡:显示正在运行程序的状态,用户能够结束、切换或者启动程序。 3. ...
《任务管理器程序详解》 任务管理器程序,顾名思义,是一种模仿Windows操作系统内置任务管理器的应用软件,它采用C++编程语言,并利用Microsoft Foundation Classes (MFC)库进行开发。MFC是微软为Windows环境提供的...
在IT领域,任务管理器是操作系统中的一个核心组件,它允许用户查看并控制正在运行的进程,以及管理系统资源。在本例中,我们讨论的是一个简单的任务管理器,它的主要功能包括查看当前系统中的进程以及根据需要终止...
真正的“任务管理器加密”可能涉及对任务管理器程序本身进行加密处理,使其在未解密的情况下无法运行。这通常需要编程知识,涉及到对二进制文件的处理和密码学原理。 此外,有些安全软件或系统优化工具提供更高级的...
网吧、学校等公共场合的计算机,我们不希望用户使用任务管理器乱杀进程,但是我们又不能不让用户使用任务管理器,这个程序就是专为解决这个问题而编写的。 程序比较简单,所以没有提供卸载程序,如果安装后不想用了...
自动运行任务计划的核心是任务调度器,这是一个内置在操作系统中的组件,用于管理、安排和执行预定的任务。在Windows系统中,这个组件被称为“任务计划程序”;在Linux或Unix系统中,它可能是“Cron”服务。这些工具...
**任务管理器**是另一个重要的系统工具,它提供了一个窗口,让用户可以看到正在运行的应用程序、进程和服务,以及系统性能的实时信息。通过任务管理器,用户可以结束不响应的程序,查看内存和CPU的使用情况,甚至...
标题中的“禁止进程结束 禁用任务管理器结束程序”指的是在编程中实现的一种技术,目的是保护特定的进程不被用户或系统中的其他应用程序(如任务管理器)终止。通常,这种技术在开发安全软件或者需要确保核心服务...
系统任务管理器程序是计算机操作系统中的一个重要工具,它允许用户监控和管理正在运行的应用程序、进程以及系统资源的使用情况。在本例中,我们提到的"系统任务管理器程序"是一个具有类似功能的自定义应用程序,它...
标题中的“隐藏任务栏应用程序”指的是能够帮助用户在Windows操作系统中隐藏任务栏上正在运行的应用程序的工具。这种工具通常用于隐私保护或者是为了避免他人窥探你的工作内容,例如在公共场合使用电脑时,可能不...
任务管理器是Windows操作系统提供的一种工具,用于监视和管理正在运行的应用程序和后台服务。而“进程”则是操作系统中执行的程序实例,每个进程都有自己的内存空间,相互独立运行。 在VB中,隐藏程序于任务管理器...
在Windows操作系统中,任务管理器是一个不可或缺的工具,它提供了查看和控制正在运行的应用程序、进程、服务、性能监控以及启动和关闭计算机的功能。本文将深入探讨如何利用Microsoft Foundation Classes (MFC) 框架...
任务管理器是 Windows 操作系统中一个非常重要的工具,它提供了有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息。如果连接到网络,那么还可以查看网络状态并迅速了解网络是如何工作的。然而,...
"Windows 任务管理器"是操作系统中的一个重要工具,主要用于监控和控制运行在Windows系统上的应用程序、进程和服务。它提供了一个用户界面,使用户能够查看系统性能数据,管理正在运行的任务,结束无响应的程序,...
在Android系统中,任务管理器(Task Manager)扮演着至关重要的角色,它负责监控和管理运行中的应用程序,优化系统资源的分配,以及协助用户管理和控制设备的性能。Android任务管理器的工作原理、功能以及如何使用是...
在Windows操作系统中,任务管理器是一项至关重要的工具,它允许用户监控系统性能,查看正在运行的应用程序和进程,以及管理启动项。"任务管理器修复工具"可能是一个专门设计用于解决任务管理器出现问题或者增强其...