zoukankan      html  css  js  c++  java
  • 获取最近运行的应用,将自己的记录移除

    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">
    将这两个值置为true
    android:noHistory
    这个属性用于设置在用户离开该Activity,并且它在屏幕上不再可见的时候,它是否应该从Activity的堆栈被删除。如果设置了true,则要删除,否则不删除。默认值是false。
    如果设置为true,则意味着Activity不会保留历史轨迹。也就是说,它不会保留在任务的Activity堆栈中,因此用户不能够在返回到这个Activity。 这个属性在API Level 3中被引入。
    android:excledeFromRecents
    这属性用于设置由该 Activity所启动的任务是否应该被排除在最近使用的应用程序列表之外。也就是说,当这个 Activity是一个新任务的根节点时,这个属性决定了这个任务适应要显示在用户最近使用的应用程序列表中。如果设置为 true,则这个任务会被排除在列表之外,如何设置为 false,则应该包含在最近使用的应用列表中。默认值是 false。
  • 相关阅读:
    javascript创建类的6种方式
    c#匿名类型
    flex中在basewidget中不能使用图表组件问题
    Xamarin 后台持续定位与提示
    Net 并行知识学习
    占位
    axis 入门【原】
    Oracle存储过程procedure in、out、in out 模式参数【不发布,纯转】
    poi读取写入excel【未完,待续】
    poi读取写入word【未完,待续】
  • 原文地址:https://www.cnblogs.com/chenlong-50954265/p/5773518.html
Copyright © 2011-2022 走看看