Java 检测android活动启动
我已在stackoverflow搜索此问题,并发现: 及 ,这类回答了我的问题,但仍然不够 我想做什么 我想创建一个小部件/应用程序,向设备用户显示最新应用程序列表和最常用应用程序列表 问题 我如何获得有关应用程序的准确数据,以便建立最常用应用程序的列表 基本信息Java 检测android活动启动,java,android,android-activity,launcher,Java,Android,Android Activity,Launcher,我已在stackoverflow搜索此问题,并发现: 及 ,这类回答了我的问题,但仍然不够 我想做什么 我想创建一个小部件/应用程序,向设备用户显示最新应用程序列表和最常用应用程序列表 问题 我如何获得有关应用程序的准确数据,以便建立最常用应用程序的列表 基本信息 我正在编译自己的安卓操作系统(基于4.2)代码,以便访问 一切 我也在开发发射器 它需要通过CTS并获得谷歌的批准 我可以使用系统权限创建应用程序 我知道这可能是谷歌的安全问题 一些解决方案 最近的应用程序可以通过Activity
- 我正在编译自己的安卓操作系统(基于4.2)代码,以便访问 一切
- 我也在开发发射器
- 它需要通过CTS并获得谷歌的批准
- 我可以使用系统权限创建应用程序
- 我知道这可能是谷歌的安全问题
蒂亚戈·科斯塔(Tiago Costa)Android默认最新应用程序对话框的实现是您的最佳参考,
final ActivityManager am = (ActivityManager)
context.getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RecentTaskInfo> recentTasks =
am.getRecentTasks(MAX_RECENT_TASKS, ActivityManager.RECENT_IGNORE_UNAVAILABLE);
final ActivityManager am=(ActivityManager)
getSystemService(context.ACTIVITY\u服务);
最近任务的最终列表=
am.getRecentTasks(最大最近的任务,ActivityManager.RECENT忽略不可用);
你可以用类似的方法试试 通过列出所有4个选项,您基本上做到了这一点。我的首选是使用
(ActivityManager)this.getSystemService(ACTIVITY\u服务)代码>谢谢你的回答,我将尝试所有的答案,看看哪一个效果最好。再次感谢。除非您具有root权限,否则logcat不适用于Android 4.2及更高版本,请参阅感谢您的提醒,我知道对于4.2,您有这个问题,忘了在logcat解决方案中提及,将对其进行更新。谢谢您的评论,我已经尝试了所有的4个步骤,并在启动器中捕获StartApplication调用。它有几乎完美的信息,没有额外的处理。你能指定“几乎完美”吗?您缺少什么?在其他活动中启动的应用程序不是我的启动器。由于大多数人通过启动器启动活动,这符合我的目的。我遇到了完全相同的问题,并且尝试了很长一段时间。你能详细说明一下你是如何在启动器中捕获startapplication调用的吗。一些代码将不胜感激。谢谢