/*
* [程序名称] 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 调用C++代码和C++代码调用源码-IT计算机-毕业设计.zip (98个子文件)
Android 调用C++代码和C++代码调用源码
Android 任务管理器源码
Android 任务管理器源码
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
assets
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
1-120QR252270-L.png 28KB
Android 调用C++代码和C++代码调用源码
classes.dex 4KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 2KB
layout
main.xml 884B
META-INF
CERT.SF 783B
CERT.RSA 776B
MANIFEST.MF 730B
resources.arsc 1KB
lib
armeabi
libC_to_Android.so 2KB
libAndroid_to_C.so 2KB
Android_And_C
bin
classes.dex 4KB
Crinson
Blog
R$layout.class 376B
mainWnd.class 2KB
R$id.class 406B
R$drawable.class 382B
R$attr.class 322B
R.class 489B
mainWnd$1.class 1KB
R$string.class 409B
mainWnd$2.class 752B
resources.ap_ 10KB
Android_And_C.apk 17KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 165B
drawable-mdpi
icon.png 3KB
layout
main.xml 718B
assets
default.properties 362B
gen
Crinson
Blog
R.java 791B
build_native.sh 186B
jni
Android.mk 179B
Android_to_C
Android.mk 475B
Crinson_Blog_mainWnd.h 496B
Crinson_Blog_mainWnd.cpp 446B
C_to_Android
crinson_jni.cpp 1KB
crinson_jni.h 247B
Android.mk 220B
Application.mk 97B
proguard.cfg 1KB
src
Crinson
Blog
mainWnd.java 2KB
.project 849B
.classpath 280B
AndroidManifest.xml 674B
libs
armeabi
libC_to_Android.so 2KB
libAndroid_to_C.so 2KB
AndroidManifest.xml 1KB
1_120818224513_1.png 18KB
1_120818224513_2.png 27KB
共 98 条
- 1
资源评论
芝麻粒儿
- 粉丝: 5w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功