Android 读取应用程序使用信息

Android 读取应用程序使用信息,android,Android,您可能知道,当拨打**4 6 3 6**时,会出现一个测试菜单 在此菜单上选择>应用程序统计,以读取应用程序使用时间和午餐计数 我想构建一个使用这些信息的智能启动器 有人能告诉我一个实现读取这些信息的源代码吗 可在设置应用程序中找到此菜单的源,网址为 如果您查看logcat,您将看到输入USSD代码导致触发意图: 正在启动活动:Intent{act=android.Intent.action.MAIN flg=0x10000000 cmp=com.android.settings/.Testin

您可能知道,当拨打**4 6 3 6**时,会出现一个测试菜单

在此菜单上选择>应用程序统计,以读取应用程序使用时间和午餐计数

我想构建一个使用这些信息的智能启动器


有人能告诉我一个实现读取这些信息的源代码吗

可在设置应用程序中找到此菜单的源,网址为

如果您查看logcat,您将看到输入USSD代码导致触发意图:

正在启动活动:Intent{act=android.Intent.action.MAIN flg=0x10000000 cmp=com.android.settings/.TestingSettings}

这基本上只是一个正常的活动启动,仅适用于非启动程序活动。您可能可以从程序中激发该意图,或者让程序拨ussd代码

然而,试图获取在程序中使用的数据将是困难的。设置应用程序在系统uid下运行,并且能够声明许多第三方应用程序不可用的权限。参和更改设置的人几乎完全受到限制,甚至相当数量的读取权限也可能受到限制


查看设置应用程序的源代码,您将能够看到它是如何工作的;查看AndroidManifest.xml将向您显示它正在使用的权限-不幸的是,您可能想要执行的大多数操作可能需要该列表中的权限,而您无法为应用程序获取这些权限。

+1对于隐藏的测试菜单:@OcuS:它不是测试菜单,4636读取手机键盘上的信息。三星Galaxy S7对我不起作用。在Nexus5x上工作。当N5X在7.1.2上时,S7在7.0上,这是最近的功能吗?谢谢!,所以我基本上需要做的是构建一个服务,记录应用程序的日志,以便自己收集这些信息?有人能推荐一个实现这一点的源代码示例吗?@VadimKotov如果你要坚持编辑旧的、过时的答案,尽管我明确要求你不要这样做,请至少保留原始格式。我非常明确地在正文中显示链接目的地,以便人们知道他们要去哪里——在许多方面,理解代码在android源代码层次结构中的位置是链接中最有用的部分,不管它们是在工作还是死了。同样,我希望您不必在主页上修改它们,而是至少在源层次结构可见的情况下保留原始意图。@ChrisStratton好的,可以这样做