75前面提到的nameNotFoundException的解决
来源:互联网 发布:然足下卜之鬼乎翻译 编辑:程序博客网 时间:2024/06/05 05:10
在前面的代码中(72篇),运行的时候,会打印system.err(catch语句捕获的异常),是因为有的进程,他压根没有对应的apk文件,它是c语言或者其他语言实现(比如内核进程)我们只需要在catch语句处理这些即可:
package com.ustc.mobilemanager.engine;import java.util.ArrayList;import java.util.List;import com.ustc.mobilemanager.R;import com.ustc.mobilemanager.domain.TaskInfo;import android.app.ActivityManager;import android.app.ActivityManager.RunningAppProcessInfo;import android.content.Context;import android.content.pm.ApplicationInfo;import android.content.pm.PackageManager;import android.graphics.drawable.Drawable;import android.os.Debug.MemoryInfo;/** * * 提供手机里面的进程信息 * * @author * */public class TaskInfoProvider {/** * 获取所有的进程信息 * * @param context * @return */public static List<TaskInfo> getTaskInfo(Context context) {ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);PackageManager pm = context.getPackageManager();List<RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();List<TaskInfo> taskInfos = new ArrayList<TaskInfo>();for (RunningAppProcessInfo processInfo : processInfos) {TaskInfo taskInfo = new TaskInfo();// 进程名就是包名String packname = processInfo.processName;taskInfo.setPackname(packname);// import android.os.Debug.MemoryInfo导包不能导错了MemoryInfo[] memoryInfos = am.getProcessMemoryInfo(new int[] { processInfo.pid });// 转成byte,方便转化long memsize = memoryInfos[0].getTotalPrivateDirty() * 1024l;taskInfo.setMemSize(memsize);try {// PackageInfo packageInfo = pm.getPackageInfo(packname, 0);// packageInfo.applicationInfoApplicationInfo applicationInfo = pm.getApplicationInfo(packname, 0);Drawable icon = applicationInfo.loadIcon(pm);taskInfo.setIcon(icon);String name = applicationInfo.loadLabel(pm).toString();taskInfo.setName(name);if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {// 用户进程taskInfo.setUserTask(true);} else {// 系统进程taskInfo.setUserTask(false);}} catch (Exception e) {e.printStackTrace();//系统内核进程 没有名称taskInfo.setName(packname);taskInfo.setIcon(context.getResources().getDrawable(R.drawable.icon));}taskInfos.add(taskInfo);}return taskInfos;}}
0 0
- 75前面提到的nameNotFoundException的解决
- 关于前面提到的 vc bug 有误
- 函数CLOI_PUT_SIGN_IN_FRONT:将数字的负号提到前面
- 提到过的函数
- 给一个字符串将其中的'*'字符提到该字符串的前面,而且其他字符的相对顺序不会改变。
- Java学习之提高!初步接触eclipse和知识复苏(因为有不少是前面提到的)
- NameNotFoundException:原来是Tomcat7的一个bug
- 带你走进EJB--MDB的NameNotFoundException
- 朋友提到的一家公司
- 解决 TreeView 前面的虚线错位
- freemarker 解决 函数前面 是空值的问题
- tomcat5.0 下JNDI javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 问题的解决
- 孙卫琴老师书中提到的服务器端解决网页缓存的方法
- 解决因前面的容器的navigation唯一的时候
- JBOSS的小问题javax.naming.NameNotFoundException: ... not bound
- javax.naming.NameNotFoundException 错误无法找到数据源的解决方案
- 关于Java中提到的引用
- 谈谈Jesse James Garrett提到的Ajax
- 收藏一个python在线解释、教导网站
- 关于oracle with as用法
- oj平台 期末刷题二(第十一到十五)
- 漫步IOS--Xcode修改字体、多工程创建和切换
- 同一客户端多个git账号的配置
- 75前面提到的nameNotFoundException的解决
- 最简单的基于librtmp的示例:发布(FLV通过RTMP发布)
- error C4996: 'fopen' 解决
- 打印M的方法 java
- Pascal's Triangle (Java)
- Ubuntu12.04 samba服务器搭建
- oracle数据库默认账号
- grep的用法
- cout格式控制