/*
* [程序名称] Android 任务管理器
* [作者] xmobileapp团队
* [参考资料] http://code.google.com/p/freetaskmanager/
* [开源协议] GNU General Public License v2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
package com.xmobileapp.taskmanager;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.IPackageInstallObserver;
import android.content.pm.PackageStats;
import android.content.pm.PackageManager.NameNotFoundException;
public class DetailProcess implements Comparable {
private ProcessInfo.PsRow psrow = null;
private ApplicationInfo appinfo = null;
private PackageInfo pkginfo = null;
private ActivityManager.RunningAppProcessInfo runinfo = null;
// private ActivityManager.RunningTaskInfo taskinfo = null;
private String title = null;
private PackageManager pm;
private Intent intent = null;
public DetailProcess(Context ctx, ActivityManager.RunningAppProcessInfo runinfo) {
this.runinfo = runinfo;
pm = ctx.getApplicationContext().getPackageManager();
}
public ProcessInfo.PsRow getPsrow() {
return psrow;
}
public void setPsrow(ProcessInfo.PsRow psrow) {
this.psrow = psrow;
}
public ApplicationInfo getAppinfo() {
return appinfo;
}
public void setAppinfo(ApplicationInfo appinfo) {
this.appinfo = appinfo;
}
public PackageInfo getPkginfo() {
return pkginfo;
}
public void setPkginfo(PackageInfo pkginfo) {
this.pkginfo = pkginfo;
}
public ActivityManager.RunningAppProcessInfo getRuninfo() {
return runinfo;
}
public void setRuninfo(ActivityManager.RunningAppProcessInfo runinfo) {
this.runinfo = runinfo;
}
public void fetchApplicationInfo(PackagesInfo pkg) {
if (appinfo == null) appinfo = pkg.getInfo(runinfo.processName);
}
public void fetchPackageInfo() {
if (pkginfo == null && appinfo != null) pkginfo = MiscUtil.getPackageInfo(pm, appinfo.packageName);
}
public void fetchPsRow(ProcessInfo pi) {
if (psrow == null) psrow = pi.getPsRow(runinfo.processName);
}
public boolean isGoodProcess() {
return runinfo != null && appinfo != null && pkginfo != null && pkginfo.activities != null
&& (pkginfo.activities.length > 0);
}
public String getPackageName() {
return appinfo.packageName;
}
public String getBaseActivity() {
return pkginfo.activities[0].name;
}
public Intent getIntent() {
if (intent != null) return intent;
intent = null;
try {
intent = pm.getLaunchIntentForPackage(pkginfo.packageName);
if (intent != null) {
intent = intent.cloneFilter();
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
return intent;
}
if (pkginfo.activities.length == 1) {
intent = new Intent(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
intent.setClassName(pkginfo.packageName, pkginfo.activities[0].name);
return intent;
}
intent = IntentList.getIntent(pkginfo.packageName, pm);
if (intent != null) {
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
return intent;
}
} catch (NameNotFoundException e) {
return null;
}
return null;
}
public String getTitle() {
if (title == null) title = appinfo.loadLabel(pm).toString();
return title;
}
static class PkgSizeObserver extends IPackageInstallObserver.Stub {
public int idx;
public void packageInstalled(String packageName, int returnCode){
}
public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) {
// pStats.cacheSize;
}
}
@Override
public int compareTo(Object another) {
if (another instanceof DetailProcess && another != null) {
return this.getTitle().compareTo(((DetailProcess) another).getTitle());
}
return -1;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android应用源码任务管理器源码-IT计算机-毕业设计.zip (49个子文件)
Android应用源码任务管理器源码
Android任务管理器源码
taskmanager.rar 81KB
taskmanager
bin
classes.dex 24KB
com.xmobileapp.taskmanager.apk 21KB
com
xmobileapp
taskmanager
MiscUtil.class 2KB
R$layout.class 451B
R$id.class 549B
R$drawable.class 424B
tools
RunScript.class 3KB
StrUtil.class 3KB
RunScript$2.class 2KB
RunScript$1.class 2KB
R$attr.class 364B
DetailProcess$PkgSizeObserver.class 926B
R.class 643B
IntentList.class 2KB
R$array.class 430B
TaskManager$LoadFinishReceiver.class 1KB
TaskManager.class 5KB
TaskListAdapters$ProcessListAdapter$1.class 2KB
PackagesInfo.class 1KB
DetailProcess.class 5KB
TaskManager$1.class 1KB
TaskListAdapters$ViewHolder.class 672B
R$string.class 707B
ProcessInfo$PsRow.class 2KB
MiscUtil$1.class 3KB
ProcessInfo.class 2KB
TaskListAdapters.class 528B
TaskListAdapters$ProcessListAdapter.class 5KB
resources.ap_ 8KB
res
drawable
icon.png 3KB
values
strings.xml 548B
arrays.xml 309B
layout
list_main.xml 1KB
main.xml 692B
default.properties 364B
gen
com
xmobileapp
taskmanager
R.java 2KB
src
com
xmobileapp
taskmanager
MiscUtil.java 4KB
IntentList.java 2KB
PackagesInfo.java 2KB
ProcessInfo.java 3KB
tools
StrUtil.java 3KB
RunScript.java 4KB
DetailProcess.java 5KB
TaskListAdapters.java 4KB
TaskManager.java 5KB
.project 862B
.classpath 280B
AndroidManifest.xml 754B
共 49 条
- 1
资源评论
芝麻粒儿
- 粉丝: 6w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功