我正在尝试构建一个应用程序,我的应用程序在后台运行并检测用户何时启动另一个应用程序,以便我可以控制其上的流程。 为了说明我的查询,我想指定一个示例。 我的应用程序在后台运行(比如作为服务),用户刚刚单击了应用程序“XYZ”。我的应用程序是否可以检测到应用程序“XYZ”已启动? 不仅仅是检测'XYZ's Activity 是否已经进入前台,我还想检测'XYZ'是否已经启动。假设有人启动了“Whatsapp Messenger”,我想知道我的应用程序是否可以知道“Whatsapp Messenger”已经启动。
编辑:很多人认为我在尝试构建恶意软件,但我不是。我正在尝试为一个高中项目构建一个应用程序。我想要一个统计数据来了解我在心理项目中使用相机的频率。 :/
提前致谢, 提交。
最佳答案
是的,您可以通过跟踪 Logcat 找到启动了哪个应用程序。只需使用 info -I 日志跟踪 ActivityManager 标签。
来自 adb shell 命令是,
adb logcat ActivityManager:I *:S
从您的应用程序代码,
logcat ActivityManager:I *:S
在 Logcat 中你可以找到类似这样的一行
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
任何应用程序何时启动。
logcat 输出显示消息与优先级“I”和标签“ActivityManager”相关:
更新:
只需在应用程序的 list 文件中添加权限,
android.permission.READ_LOGS
关于android - 如何检测用户何时启动另一个应用程序? (安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11346557/