`
yzyspy
  • 浏览: 82061 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

查询应用使用次数

 
阅读更多

 

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=207309

//比较两个应用程序的启动次数和运行时间
public final int compare(ApplicationInfo a, ApplicationInfo b) {
            ComponentName aName = a.intent.getComponent();
            ComponentName bName = b.intent.getComponent();
            int result = 0;
//get usagestats service
            IUsageStats mUsageStatsService = IUsageStats.Stub
                        .asInterface(ServiceManager.getService("usagestats"));
            try {
//get PkgUsageStats
                PkgUsageStats aStats = mUsageStatsService
                        .getPkgUsageStats(aName);
                PkgUsageStats bStats = mUsageStatsService
                        .getPkgUsageStats(bName);
                if(aStats!=null && bStats!=null) {
                    if ((aStats.launchCount > bStats.launchCount)
                        || ((aStats.launchCount == bStats.launchCount) && (aStats.usageTime > bStats.usageTime)))
                    result = -1;
                    else if ((aStats.launchCount < bStats.launchCount)
                        || ((aStats.launchCount == bStats.launchCount) && (aStats.usageTime < bStats.usageTime)))
                    result = 1;
                    else {
                    result = 0;
                    }
                }else if(aStats!=null && bStats ==null) {
                    result = -1;
                } else if(aStats==null && bStats !=null) {
                    result = 1;
                }
            } catch (RemoteException e) {
                Log.i("TAG", "get package usage stats fail");
            }

            return result;
        }
 
ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
        Map<String,Integer> apptimes = am.getAllPackageLaunchCounts();
        
        Set<Entry<String,Integer>>  entryset = apptimes.entrySet();
        
        Iterator<Entry<String,Integer>> iterators = entryset.iterator();
        
        while(iterators.hasNext()){
            Entry<String,Integer> item= iterators.next();
            
            Log.d("yzy","key = "+item.getKey() +"  values ="+item.getValue());
        }
        
分享到:
评论

相关推荐

    最近应用使用情况列表

    在Android开发中,`UsageStatsManager`是系统提供的一项服务,用于收集和查询应用的使用统计数据,包括但不限于应用启动次数、活跃时间等,这对于开发者分析用户行为或者优化应用性能非常有帮助。 首先,要使用`...

    5.0以上应用使用情况分析

    开发者可以通过`UsageStatsManager.queryUsageStats()`方法查询这些数据,它能够返回一个包含应用使用时间、启动次数等信息的UsageStats对象列表。这些数据可用于长期分析,例如统计过去一天、一周或一月内的应用...

    oracle查看执行最慢与查询次数最多的sql语句

    本文将详细介绍如何查看Oracle数据库中执行最慢和查询次数最多的SQL语句,以帮助DBA(数据库管理员)识别潜在的性能瓶颈。 首先,我们来看如何查询执行最慢的SQL语句。在Oracle中,可以使用`v$sqlarea`视图来获取...

    如何使用SQL Server嵌套子查询

    在本文中,我们将详细讨论如何使用 SQL Server 嵌套子查询,包括什么是嵌套子查询、如何创建嵌套子查询、嵌套子查询的优点和应用场景等。 什么是嵌套子查询? 在 SQL Server 中,有两种子查询类型:标准子查询和...

    c++Primer第四版 容器的综合应用:文本查询 源码

    《C++ Primer 第四版:容器的综合应用——文本查询》是C++编程领域的一份重要参考资料,主要探讨了如何利用C++标准库中的容器进行高效的数据管理和处理,特别是针对文本查询的应用。在这个主题中,我们将深入理解C++...

    Access_JDBC30.jar(不限查询次数(50)及每次查询的条数(1000))

    标题中的"Access_JDBC30.jar"是一款专为解决Access数据库与Java应用程序通过JDBC连接时,关于查询次数和每次查询条数限制问题的库文件。这个特定版本的JDBC驱动程序,允许开发者无限次地执行查询,同时每次查询也...

    列车时刻表查询应用代码完整版.7z

    《iOS开发:构建列车时刻表查询应用》 在iOS开发领域,构建一款列车时刻表查询应用是一项常见的任务,它能够帮助用户快速、便捷地获取列车时刻信息,为出行提供便利。本项目源代码是一个完整的列车时刻表查询应用,...

    使用alsa-lib应用编程官方示例

    这个示例会展示如何创建和使用ALSA定时器,这对于需要精确时间同步的音乐应用程序非常有用。 **ALSA库的关键概念** 1. **PCM设备** - PCM设备代表音频数据的输入/输出,支持模拟音频流。它们有主设备和子设备,每...

    Android 使用记录访问权限

    3. **获取应用的最近活跃时间**:`getLastTimeUsed()`方法可以返回一个应用最近一次被使用的精确时间戳。 4. **获取特定时间范围内的应用使用统计**:`queryEvents()`方法可以获取指定时间范围内的所有使用事件,...

    实验二 数据库的简单查询和连接查询实验.doc

    5. 查询借出次数超过 10 次的所有图书的书号和书名。 三、实验环境与实验准备工作 实验环境:Microsoft Windows 2008 操作系统,Microsoft SQL Server 2008 数据库管理系统标准版或企业版。 实验准备工作:在开始...

    SQLite 查询所有 分页查询 查询个数

    在处理大量数据时,为了提高效率并避免一次性加载所有数据导致性能下降,通常会采用分页查询的方式来获取数据。下面我们将详细探讨SQLite中的查询所有、分页查询以及查询个数的相关知识点。 1. 查询所有数据: 在...

    LaravelN1查询检测器通过减少执行的查询数量帮助您提高应用程序的性能

    预加载是一种优化策略,允许你在一次查询中获取主对象及其关联数据,从而减少查询次数。例如,使用`with()`方法可以预先加载用户和他们的地址,只需两次查询即可完成。 此工具的使用对于开发阶段尤其有价值,因为它...

    关系数据库SQL查询语句优化应用.pdf

    2. 保证返回值是查询所需要的,减少数据库访问次数。 3. 通过搜索参数减少访问行数,最小化结果集。 4. 使用索引时,将它们放在选择的首列。 5. 优化算法结构以简单化。 6. 限制通配符的使用,选择需要输出的列。 7....

    Android应用性能优化

    - 使用批处理操作减少I/O次数,提升性能。 #### 五、持续监控与迭代 1. **建立持续集成/持续部署(CI/CD)**流程,确保每次提交代码后都能自动构建并部署到测试环境进行验证。 2. **实施性能监控**,利用Firebase ...

    Oracle中查询优化技术的应用.pdf

    此外,物化视图技术还可以减少数据的计算次数,提高查询效率。 在使用物化视图技术时,需要注意物化视图的建立和维护,确保物化视图的数据是最新的,以便确保查询结果的准确性。 3. 基于 Oracle 平台的 Job 定时...

    SQLServer的性能调优:解决查询速度慢的五种方法

    本文主要通过一下几个方面介绍:使用SQLDMV查找慢速查询、通过APM解决方案查询报告、SQLServer扩展事件、SQLAzure查询性能洞察等相关内容。本文来自博客园,由火龙果软件Anna编辑、推荐。SQLServer的一个重要功能是...

    MIS系统万能查询控件开发及应用

    - **控件封装**:为了提高复用性和通用性,将万能查询功能封装为OCX控件,便于在多种支持VB6.0技术的应用系统中使用。 - **兼容性**:确保控件能够在不同的操作系统环境下正常工作。 ##### 用户界面设计 - **界面...

    Android应用 北京公交线路查询(离线).rar

    在开发这样一个离线版的公交查询应用时,开发者需要处理的关键技术点包括: 1. 数据获取:需要从官方或其他可靠来源获取最新的公交线路数据,并进行整理存储。 2. 数据存储:利用SQLite数据库存储公交线路数据,以便...

Global site tag (gtag.js) - Google Analytics