Android:听取启动应用程序

时间:2015-03-18 17:06:11

标签: android

我正在寻找一种方法来监听启动应用程序/活动。 我想你们中的许多人都知道应用程序“Tasker”,它实现了这一点。如果启动了所选应用程序,则会启动特定任务。

现在我想知道如何实现这一目标?我可以启动一个服务,但我应该使用哪种方法?

我注意到Tasker在使用此方法之前要求获得许可。应用程序将我重定向到“辅助功能设置”选项卡,我可以通过通知启用Tasker:“Tasker需要权限:监控您的操作 - 允许TalkBack知道您何时使用应用程序”

有什么建议吗?

修改

我发现使用了AccessibilityService。现在我的问题是,如何为此服务指定所有已安装的软件包?我知道可以逐个指定包,但如何选择所有包?

1 个答案:

答案 0 :(得分:0)

您可以使用getRunningTasks方法

ActivityManager am = (ActivityManager) mContext
            .getSystemService(Activity.ACTIVITY_SERVICE);
    String packageName = am.getRunningTasks(1).get(0).topActivity
            .getPackageName();

注意此方法已在API级别21中弃用。您也可以尝试this