Android获取Activity(应用)的执行状态及其它信息
检測某Activity是否在当前Task的栈顶
public static boolean isTopActivy(String cmdName, Context context)
{
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(Integer.MAX_VALUE);
String cmpNameTemp = null;
if (null != runningTaskInfos)
{
cmpNameTemp = (runningTaskInfos.get(0).topActivity).toString();
} if (null == cmpNameTemp)
{
return false;
} return cmpNameTemp.equals(cmdName); }
推断Android应用是否在前台
public static boolean isAppOnForeground(Context context)
{
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
String packageName = context.getPackageName();
List<RecentTaskInfo> appTask = activityManager.getRecentTasks(Integer.MAX_VALUE, 1); if (appTask == null)
{
return false;
} if (appTask.get(0).baseIntent.toString().contains(packageName))
{
return true;
}
return false;
}
获取Android手机内安装的全部桌面
private static List<String> getAllTheLauncher(Context context)
{
List<String> names = null;
PackageManager pkgMgt = context.getPackageManager();
Intent it = new Intent(Intent.ACTION_MAIN);
it.addCategory(Intent.CATEGORY_HOME);
List<ResolveInfo> ra = pkgMgt.queryIntentActivities(it, 0);
if (ra.size() != 0)
{
names = new ArrayList<String>();
}
for (int i = 0; i < ra.size(); i++)
{
String packageName = ra.get(i).activityInfo.packageName;
names.add(packageName);
}
return names;
}
Android 推断程序前后台状态
public static boolean isLauncherRunnig(Context context)
{
boolean result = false;
List<String> names = getAllTheLauncher(context);
ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appList = mActivityManager.getRunningAppProcesses();
for (RunningAppProcessInfo running : appList)
{
if (running.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
{
for (int i = 0; i < names.size(); i++)
{
if (names.get(i).equals(running.processName))
{
result = true;
break;
}
}
}
}
return result;
}
Android获取Activity(应用)的执行状态及其它信息的更多相关文章
- android 获取activity 的name
String contextString = this.toString();String name = contextString.substring(contextString.lastIndex ...
- Android 获取Activity当前view
View cv = getWindow().getDecorView(); 来自为知笔记(Wiz)
- android 获取application和activity下meta-data中的值
meta-data在AndroidManifest中是以键值对的形式存在的,可以将meta-data放在application根节点下,也可以放在某个activity节点下.因为存放的位置不同,因此获 ...
- Android获取位置信息的方法总结
1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务或基于位置的服务,融合了GPS定位.移动通信.导航等多种技术,提供与空间位置相关的综 ...
- Android获取服务器Json字符串并显示在ListView上面
已经好久没有更新博客,今天终于有新的东西可以记录了. 通过这次的任务学习到了以前没有注意到的知识点,真的有种书读百遍,其义自见的感觉.这次又重新认识了<Handler消息机制原理>.这次的 ...
- Android获取系统时间方法的总结
Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...
- Android 获取系统的联系人
本文主要介绍android中怎样获取系统的联系人数据 首先打开模拟器 点击联系人图标按钮 说明系统联系人数据库是空的,打开File explorer,找到data/data下面的文件夹: 将conta ...
- Android获取APK包名的几种方法
Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt-- ...
- Android课程---Activity中保存和恢复用户状态
onSaveInstanceState 保存 在暂停之后和保存之前调用 onRestoreInstanceState 恢复 再启动之后和显示之前调用 package com.example.chens ...
随机推荐
- How to calculate the undo_retention time
UNDO_RETENTION The undo_retention is a initialization parameter of the undo tablespace. The initiali ...
- 微信或手机浏览器在线显示office文件(已測试ios、android)
近期开发微信企业号,发现微信andriod版内置浏览器在打开文件方面有问题,可是ios版没有问题.原因是ios版使用的是safari浏览器 支持文档直接打开.可是andriod版使用的是腾讯浏览器x5 ...
- Activity跳转时传递Bitmap对象的实现
前言 相信大家可能都了解Activity跳转时我们是能够传递參数的,比方使用Intent传递或者Bundle来传递,把当前Activity的一些信息传递给将要跳转到的新的Activity.可是不知道大 ...
- 在Service中使用广播接受者
1.清单文件 <service android:name="com.example.callmethod.MyService"></service> 2.开 ...
- android 屏幕尺寸的理解
对android设备屏幕尺寸单位的理解 一.android移动设备(手机和平板)常用的关于屏幕的一些单位: 1.px:像素点,应该是一个统一的单位,与我们国际单位米(M)应该是一回事,它应该是屏幕尺寸 ...
- android自定义控件---添加表情
android自定义控件---添加表情 一.定义layout文件,图片不提供了 <?xml version="1.0" encoding="utf-8"? ...
- Java集合框架Collection
转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...
- Oracle数据库top10物理段
select owner, name, type, mega, tbs from (select owner, case when ...
- 基于visual Studio2013解决C语言竞赛题之1040因数分解
题目 解决代码及点评 /* 将一个数M分解为质因数(M≠0). */ #include <stdio.h> #include <stdlib.h> void main() ...
- 略懂 MySQL字符集
本文虽说旨在明白.但若略懂亦可.毕竟诸葛孔明如是 只有基于字符的值才有所谓字符集的概念 某些字符集可能需要更多CPU.消费更多的内存和磁盘空间.甚至影响索引使用 这还不包括令人 ...