博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 检测应用程序是否正在启动项,android判断应用是否已经启动的实例
阅读量:5856 次
发布时间:2019-06-19

本文共 2320 字,大约阅读时间需要 7 分钟。

我就废话不多说了,还是直接看代码吧!

/**

* 判断应用是否已经启动

*

* @param context 上下文对象

* @param packageName 要判断应用的包名

* @return boolean

*/

public static boolean isAppAlive(Context context, String packageName) {

ActivityManager activityManager =

(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List processInfos

= activityManager.getRunningAppProcesses();

for (int i = 0; i < processInfos.size(); i++) {

if (processInfos.get(i).processName.equals(packageName)) {

return true;

}

}

return false;

}

补充知识:android判断当前应用是否启动、app运行状态、某个界面是否在前台工具类整理

来直接看代码吧!

/**

* 判断当前应用是否启动

*

* @param context

* @return

*/

public static boolean getCurrentTask(Context context) {

ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

//获取当前所有存活task的信息

List appProcessInfos = activityManager.getRunningTasks(Integer.MAX_VALUE);

//遍历,若task的name与当前task的name相同,则返回true,否则,返回false

for (RunningTaskInfo process : appProcessInfos) {

if (process.baseActivity.getPackageName().equals(context.getPackageName())

|| process.topActivity.getPackageName().equals(context.getPackageName())) {

return true;

}

}

return false;

}

/**

* 返回app运行状态

*

* @param context 一个context

* @return int 1:前台 2:后台 0:不存在

*/

public static int isAppAlive(Context context) {

String packageName = PackageUtil.getAppProcessName(context);

ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List listInfos = activityManager.getRunningTasks(20);

// 判断程序是否在栈顶

if (listInfos.get(0).topActivity.getPackageName().equals(packageName)) {

return 1;

} else {

// 判断程序是否在栈里

for (ActivityManager.RunningTaskInfo info : listInfos) {

if (info.topActivity.getPackageName().equals(packageName)) {

return 2;

}

}

return 0;// 栈里找不到,返回0

}

}

/**

* 判断某个界面是否在前台

*

* @param context

* @param className 某个界面名称

*/

public static boolean isActivityForeground(Context context, String className) {

if (context == null || TextUtils.isEmpty(className)) {

return false;

}

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List list = am.getRunningTasks(1);

if (list != null && list.size() > 0) {

ComponentName cpn = list.get(0).topActivity;

if (className.equals(cpn.getClassName())) {

return true;

}

}

return false;

}

以上这篇android判断应用是否已经启动的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

转载地址:http://aqajx.baihongyu.com/

你可能感兴趣的文章
进老男孩的自我介绍和决心书
查看>>
线上Linux服务器运维安全策略经验分享
查看>>
Android一些问题的解决方案
查看>>
ios之UIToolBar
查看>>
Luogu P4707 重返现世
查看>>
目标与绩效管理实战专家胡立
查看>>
2014手机分析图
查看>>
一元多项式相加
查看>>
commandLink/commandButton/ajax backing bean action/listener method not invoked (转)
查看>>
软件工作的大环境
查看>>
梅沙教育APP简单分析-版本:iOS v1.2.21-Nathaneko-佳钦
查看>>
Word中如何设置图片与段落的间距为半行
查看>>
Windows Server 2008 RemoteApp---发布应用程序
查看>>
白帽子技术分析会话劫持实战讲解
查看>>
我的友情链接
查看>>
yum的三种方式
查看>>
Redis分布式缓存安装和使用
查看>>
20天精通 Windows 8:系列课程资料集
查看>>
html5 <figure> 标签
查看>>
开源监控软件 Hyperic 的两种插件
查看>>