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

获取应用运行次数

 
阅读更多
PackageManager manager = context.getPackageManager();
		Intent intent = new Intent(Intent.ACTION_MAIN);
		List<ResolveInfo> infos = manager.queryIntentActivities(intent, 0);
		List<ComponentName> names = new ArrayList<ComponentName>();
		List<Map<String, String>> list = new ArrayList<Map<String, String>>();
		for (ResolveInfo info : infos) {
			ComponentName cn = new ComponentName(info.activityInfo.packageName,
					info.activityInfo.name);
			names.add(cn);
		}
		IUsageStats mUsageStatsService = IUsageStats.Stub
				.asInterface(ServiceManager.getService("usagestats"));
		for (ComponentName name : names) {
			PkgUsageStats aStats = null;
			ApplicationInfo info = null;
			try {
				aStats = mUsageStatsService.getPkgUsageStats(name);
				info = manager.getApplicationInfo(name.getPackageName(),
						PackageManager.GET_META_DATA);
			} catch (Exception e) {
				e.printStackTrace();
			}
			if (aStats != null && info != null) {
				String appName = info.loadLabel(manager).toString();
				int count = aStats.launchCount;
				if (count == 0) {
					continue;
				}
				Map<String, String> map = new HashMap<String, String>();
				map.put("appName", appName);
				map.put("count", count + "");
				list.add(map);
			}
		}


这个只有在系统应用才可以用
所以 首先 需要加一个权限:
android.permission.PACKAGEUSAGESTATS

然后 需要把应用放在 System/app 下才能使用

需要在shell里执行命令:
mount -o remount,rw /system (需要root权限才可以使用)
分享到:
评论

相关推荐

    Android5.0 以上获取系统正在运行应用信息包

    这个类是在Android Lollipop(API级别21)引入的,它提供了获取应用使用时间、启动次数等信息的方法。例如,你可以使用`queryUsageStats(int intervalType, long beginTime, long endTime)`来获取指定时间段内的应用...

    在LabVIEW中获取硬盘序列号和程序使用次数

    在LabVIEW编程环境中,开发应用程序时,有时需要获取硬件相关信息以实现特定功能,例如验证软件授权或进行设备唯一性标识。本主题将深入探讨如何在LabVIEW中获取硬盘序列号和程序的使用次数,这对于软件保护和数据...

    Android中获取正在运行的服

    了解如何获取正在运行的服务对于开发者来说至关重要,特别是进行性能分析、调试或者优化应用程序时。本篇文章将详细阐述如何使用`ActivityManager.RunningServiceInfo`来获取Android设备上当前正在运行的服务信息。 ...

    PB中控制程序同时运行次数的列子

    在PowerBuilder(PB)开发中,我们经常遇到需要限制应用程序同时运行次数的需求,这通常是为了避免资源冲突或者确保数据的一致性。标题“PB中控制程序同时运行次数的列子”所指的就是如何在PB环境中实现这样的功能。...

    qt 获取按键次数

    在Qt编程中,获取按键次数是一项基础但重要的功能,尤其对于那些无需图形用户界面(UI)的应用来说。本文将深入探讨如何在Qt中实现这一功能,并通过一个简单的非UI示例帮助初学者更好地理解Qt的事件处理机制和设计...

    Android中获取系统内存信息以及进程信息

    此外,我们还可以通过`getRunningServices(int maxNum)`方法获取正在运行的服务信息,这将返回一个`List&lt;ActivityManager.RunningServiceInfo&gt;`,其中包含了服务的状态、启动次数等详细信息。 在实际开发中,这些...

    获取应用使用情况增量计算

    "获取应用使用情况增量计算"这个话题聚焦于如何追踪和计算应用的使用变化,主要包括使用次数和使用时长。以下是对这一主题的详细阐述: 首先,我们需要理解什么是“增量计算”。增量计算是一种数据处理方法,它关注...

    Android获取正在运行程序源码

    3. **获取应用进程**:`ActivityManager.RunningAppProcessInfo`类提供了获取应用进程的方法。通过`getRunningAppProcesses()`,我们可以得到一个包含所有运行进程的列表,每个进程都有其对应的优先级和进程ID。 4....

    Android 5.0系统以上获取运行进程demo

    通过`UsageStatsManager.queryUsageStats()`方法,可以获取到过去一段时间内应用的使用情况,包括启动次数、运行时间等,但这仍然不包括详细的进程列表。 在给定的压缩包文件中,9ab8cac1fc4d407dabb898e9d82c3ae5...

    安卓开发统计手机重启次数

    1. **权限申请**:首先,由于涉及系统敏感信息,统计手机重启次数需要获取到相应的权限。在AndroidManifest.xml文件中,需要添加`&lt;uses-permission&gt;`标签来请求`android.permission.RECEIVE_BOOT_COMPLETED`权限。这...

    安卓开发-获取手机应用信息.zip

    最后,如果需要获取应用的使用统计信息,如使用时间、启动次数等,Android提供了`UsageStatsManager`接口,但需要相应的权限,并且从Android 5.0(API级别21)开始引入。 总结起来,安卓开发中获取手机应用信息涉及...

    android获得一个应用程序的启动次数,运行时间等信息[收集].pdf

    在Android系统中,获取应用程序的启动次数和运行时间等信息对于开发者来说是非常有用的,这可以帮助他们分析用户行为、优化性能或者实现个性化推荐。虽然Google并未将`com.android.internal.os.PkgUsageStats`类公开...

    Android获取栈顶的应用包名方法

    UsageStatManager是一个使用情况统计管理者,通过它可以获取应用的使用情况,通过List集合来记录APP的使用情况,通过UsageStats对象可以获取包名,最后的在前台的时间,在前台的次数等等。 使用UsageStatsManager...

    控制MFC程序只能运行一次

    如果获取失败,说明已经有另一个实例在运行。这时,我们可以选择提示用户或直接退出当前实例。 ```cpp BOOL CMyApp::InitInstance() { // ... if (!m_myMutex.Lock(5000)) // 尝试锁定,超时5秒 { ...

    LabVIEW读取使用次数和硬盘序列号.rar

    这个“LabVIEW读取使用次数和硬盘序列号.rar”压缩包文件很可能包含了一个LabVIEW工程,其目的是通过编程方式获取计算机硬件的相关信息,特别是硬盘的序列号和软件的使用次数。 硬盘序列号是每个硬盘特有的标识符,...

    Android编程获取手机后台运行服务的方法

    在Android编程中,获取手机后台运行的服务是开发者进行系统监控、性能分析或优化应用行为时常用的一种技术。这有助于了解设备上哪些服务正在消耗资源,从而可能影响用户体验或电池寿命。本文将详细介绍如何通过...

    获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)

    在实际应用中,ThinkPHP框架还可能提供一些内置的调试和运行状态信息,例如进程时间、加载时间、初始化时间、模板时间、数据库操作次数、缓存操作次数、内存使用量、加载文件数量和函数调用次数等。通过这些信息,...

    如何使用应用程序缓存来解决程序运行速度

    ### 如何使用应用程序缓存来解决程序运行速度 在现代软件开发中,应用程序缓存是一项重要的技术,它能够显著提高程序的性能与响应速度。本文将深入探讨如何使用应用程序缓存来解决程序运行速度的问题,并通过一个...

    易语言软件限次运行

    在程序启动时,可以通过读取注册表或者特定的配置文件来获取已有的运行次数。 接着,我们需要编写一段代码来检查并增加运行次数。当软件启动时,这段代码会先读取当前的运行次数,然后加一,最后再将更新后的数值...

Global site tag (gtag.js) - Google Analytics