首页 > 其他分享 >设计一个类似Window的任务管理器

设计一个类似Window的任务管理器

时间:2022-12-09 16:38:28浏览次数:47  
标签:管理器 Overridepublic int 类似 Window convertView appTaskList import android


 Android并没有提供提供任务管理器程序,无从得知后台有哪些在运行。本范例是通过ActivityManager.getRunningTasks方法来取得正在运行中的工作程序,并使用ListView来显示。

  具体程序如下:

package com.nmobile.allove.wfp;

import java.util.ArrayList;
import java.util.List;

import android.app.ActivityManager;
import android.app.ListActivity;
import android.app.Service;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class GetRunningTaskInfo extends ListActivity implements OnClickListener{
private Button mButton;
ArrayList<String> appTaskList;
ActivityManager mActivityManager;
private int intGetTaskCounter=10;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

this.Init();
mButton.setOnClickListener(this);
}
public void Init()
{
mButton=(Button)this.findViewById(R.id.Button01);
mActivityManager=(ActivityManager) this.getSystemService(Service.ACTIVITY_SERVICE);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.Button01:
appTaskList=new ArrayList<String>();

List<ActivityManager.RunningTaskInfo> list=mActivityManager.getRunningTasks(intGetTaskCounter);
int i=1;
for(ActivityManager.RunningTaskInfo task:list)
{
appTaskList.add(""+(i++)+": "+task.baseActivity.getClassName()+"(ID="+task.id+")");
}
if(appTaskList.size()==0)
{
Toast.makeText(this, "appTaskList.size()==0", Toast.LENGTH_SHORT).show();
}
else
{
this.setListAdapter(new MyAdapter());
}
break;
}
}
class Holder
{
TextView mTextView;
}
class MyAdapter extends BaseAdapter
{
LayoutInflater inflater;
Holder mHolder;
@Override
public int getCount() {
// TODO Auto-generated method stub
return appTaskList.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
inflater=LayoutInflater.from(GetRunningTaskInfo.this);
if(convertView==null)
{
convertView=inflater.inflate(R.layout.item, null);
mHolder=new Holder();
mHolder.mTextView=(TextView)convertView.findViewById(R.id.item_TextView01);
convertView.setTag(mHolder);
}
else
{
mHolder=(Holder) convertView.getTag();
}
mHolder.mTextView.setText(appTaskList.get(position));
return convertView;
}

}
}

记得加上访问权限:

android.permission.GET_TASKS

 

标签:管理器,Overridepublic,int,类似,Window,convertView,appTaskList,import,android
From: https://blog.51cto.com/u_15907753/5926219

相关文章

  • Unity 包管理器窗口 无法执行 upm 操作: connect ETIMEDOUT 172.81.232.209:443 的解
    [包管理器窗口]无法执行upm操作:connectETIMEDOUT172.81.232.209:443问题描述:无法刷新包管理器无法安装Unity注册表中的包Cannotperformupmoperation:con......
  • 用Qt编写的windows平台关机程序(附源代码)
    程序的主要功能:1、动态显示当前系统时间。2、自定义设置关机时间。3、动态显示关机倒计时。4、立即关机、立即重启、立即注销。5、播放背景音乐。运行截图:动态效果:......
  • window.open
    window.open('https://design.stage.ikongjian.com/bim/toUpdateChange?changeNo=BG20221209393309&boss=true&changeType=null&changerType=1&openType=2','_blank',......
  • Arch+Windows11双系统攻略
    Arch+Windows11双系统攻略@目录Arch+Windows11双系统攻略Arch安装打开archwiki制作archisoU盘bios更改启动项archiso换源grub安装kde安装grub美化其他软件neovimfctix......
  • windows环境下统计gitlab代码行数
    1、需要提前安装git和gawkwindows环境下安装gawkhttp://sourceforge.net/projects/gnuwin32/files/gawk/3.1.6-1/gawk-3.1.6-1-bin.zip/download解压后将bin添加到......
  • 备忘:Windows环境下查询端口被哪个应用程序占用
    现象分析昨天用着都正常,今天一开机就出现了这个提示,而且昨天也没有新安装任何软件通过netstat-aon|findstr*****可以查询占用此端口的应用程序的PID再去任务管理器里通过P......
  • window.external的使用
    由于工作中有很多时候需要用到window.external,以前一直稀里糊涂的,今天又被人问到,于是突击学习了一下,记下备忘。--------------------------------------我们在js中可以通过w......
  • S 产品打印管理器端口说明,本文章只用于S产品6.0及以上版本在安装打印管理器的时候提
      S产品打印管理器端口说明,本文章只用于S产品6.0及以上版本在安装打印管理器的时候提示端口号被使用的情况处理1、电脑右下角有打印服务,右键点击,软件版本6.0以及以上......
  • Windows安全访问控制
    前言windows内核中的对象会受到保护,每个对象都有自己的安全描述符(SecurityDescriptor),安全描述符用来描述此对象可以允许谁,以何种方式访问。而访问这些对象的主体就是进程......
  • spyder5 使用 PDM 包管理器管理虚拟环境
    第一步:修改Spyder的默认pythoninterpreter。1.clickthenameofthecurrentenvironmentinthestatusbar,andthenclick【ChangedefaultenvironmentinPr......