获取最近运行的应用,将自己的记录移除

Android 5.0 获取最近运行的应用 
由于考虑到安全性ActivityManager.getRunningTasks(),在5.0上已经deprecated了。 
private String getLollipopRecentTask() { 
final int PROCESS_STATE_TOP = 2; 
try { 
Field processStateField = ActivityManager.RunningAppProcessInfo.class.getDeclaredField("processState"); 
List<ActivityManager.RunningAppProcessInfo> processes = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE)).getRunningAppProcesses(); 
for (ActivityManager.RunningAppProcessInfo process : processes) { 
if (process.importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && process.importanceReasonCode == 0) { 
int state = processStateField.getInt(process); 
if (state == PROCESS_STATE_TOP) { 
String[] packname = process.pkgList; 
return packname[0]; 



} catch (Exception e) { 
throw new RuntimeException(e); 

return ""; 
}

使应用信息不在运行列表中显示的方法需要修改配置文件中activity标签的两个值android:noHistory="true"android:excludeFromRecents="true">将这两个值置为trueandroid:noHistory这个属性用于设置在用户离开该Activity,并且它在屏幕上不再可见的时候,它是否应该从Activity的堆栈被删除。如果设置了true,则要删除,否则不删除。默认值是false。如果设置为true,则意味着Activity不会保留历史轨迹。也就是说,它不会保留在任务的Activity堆栈中,因此用户不能够在返回到这个Activity。 这个属性在API Level 3中被引入。android:excledeFromRecents这属性用于设置由该 Activity所启动的任务是否应该被排除在最近使用的应用程序列表之外。也就是说,当这个 Activity是一个新任务的根节点时,这个属性决定了这个任务适应要显示在用户最近使用的应用程序列表中。如果设置为 true,则这个任务会被排除在列表之外,如何设置为 false,则应该包含在最近使用的应用列表中。默认值是 false。
时间: 2024-10-06 23:14:17

获取最近运行的应用,将自己的记录移除的相关文章

Android获取正在运行的程序并kill掉它

获取正在运行的程序并把它加入到一个listview的adapter类面,方法如下: // 正在运行的 public List<Programe> getRunningProcess() { pi = new PackagesInfo(this); am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); // 获取正在运行的应用 run = am.getRunningAppProcesses(); // 获取包管理器,在这里主要通过包

Window获取所有运行的进程

通过遍历任务管理器,输出当前正在运行的进程ID和Name. 同时打印出遍历过程所消耗的时间. /* @Date:2014/6/8 @Author:Alex */ #include <iostream> #include <string> #include <map> #include <windows.h> #include <TlHelp32.h> using namespace std; bool traverseProcesses(map&

unicode string和ansi string的转换函数及获取程序运行路径的代码

#pragma once#include <string> namespace stds { class tool { public: std::string ws2s(const std::wstring& ws) { std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C"; setlocale(LC_ALL, "chs"); const wchar_t* _Sou

java获取它运行所在目录信息

对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢?  在Java处理的文件系统中,目录的表示方式有两种:  (1)绝对目录,它以"/"为起始字符,代表从根目录下开始寻找给出的目录,如/c:/java  (2)相对路径,它以不带"/"的目录名表示,表示以当前Java程序正在运行的目录作为起始目录来寻找给出的目录.如java/classes.在相对路径中,有一些特定的字符,可以代表特的的目录,比如,&qu

使用psutil模块获取电脑运行信息

psutil是python的一个用于获取cpu信息的模块,非常好使,以下附上官方的一些example: CPU-> Examples ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>> import psutil >>> psutil.cpu_times() scputimes(user=3961.46, nice=169.729, sy

OS X中如何获取当前运行程序的路径

OS X的执行程序一般分为两种.一种是控制台程序,一种是带有GUI的OS X应用程序. 控制台程序往往就一个文件构成executable,而GUI应用通常是一个包(即文件夹),里面除了executable之外还有其它资源. 对于一个GUI程序来说,我们可以通过读取Bundle来获得资源文件.那么对于控制台程序来说,如果要获得其执行时的路径就很有必要了. 比如,我做一个OpenCL程序,那么往往会将OpenCL内核源文件与应用放在一起. 在OS X中获得executable当前路径的方法很简单,首

linux c 获取当前运行进程总数

获取当前运行进程总数的命令为: ps auxw | wc -l 获取当前运行进程总数的源码如下: #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <string.h> #include <ctype.h> #include <errno.h> int main(int argc, char *argv[]) { DIR *dp; struct di

Android高手之路之获取正在运行的service,以及判断某个service是否正在运行

注:本文改自http://blog.csdn.net/android_tutor/article/details/5824581 其实主要是用了activityManager的getRunningServices来获取正在运行的service的列表.然后用正在运行的服务的名称去比对相等. 看代码: package com.example.runningservice; import java.util.List; import android.app.Activity; import andro

python 动态获取当前运行的类名和函数名的方法

一.使用内置方法和修饰器方法获取类名.函数名 python中获取函数名的情况分为内部.外部,从外部的情况好获取,使用指向函数的对象,然后用__name__属性 复制代码代码如下: def a():passa.__name__ 除此之外还可以: 复制代码代码如下: getattr(a,'__name__') 尽管有些脱裤子放屁,总之,从外部获取的方法是非常灵活的. 有些同学需要从函数内部获取函数本身的名字,就需要用些技巧了.1.使用sys模块的方法: 复制代码代码如下: def a():print

C# 获取程序运行时路径

?  前言 开发中,很多时候都需要获取程序运行时路径,比如:反射.文件操作等..NET Framework 已经封装了这些功能,可以很方便的使用. 1.   可使用类 1.   System.AppDomain,程序集:mscorlib.dll. 2.   System.Environment,程序集:mscorlib.dll. 3.   System.IO.Directory,程序集:mscorlib.dll. 4.   System.Reflection.Assembly,程序集:mscor