我正在寻找一种方法来监听启动应用程序/活动。 我想你们中的许多人都知道应用程序“Tasker”,它实现了这一点。如果启动了所选应用程序,则会启动特定任务。
现在我想知道如何实现这一目标?我可以启动一个服务,但我应该使用哪种方法?
我注意到Tasker在使用此方法之前要求获得许可。应用程序将我重定向到“辅助功能设置”选项卡,我可以通过通知启用Tasker:“Tasker需要权限:监控您的操作 - 允许TalkBack知道您何时使用应用程序”
有什么建议吗?
修改:
我发现使用了AccessibilityService。现在我的问题是,如何为此服务指定所有已安装的软件包?我知道可以逐个指定包,但如何选择所有包?
答案 0 :(得分:0)
您可以使用getRunningTasks方法
ActivityManager am = (ActivityManager) mContext
.getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity
.getPackageName();
注意此方法已在API级别21中弃用。您也可以尝试this。