我需要检测应用程序是否已启动,但我读到API中没有任何方法可以实现这一点。有人建议给应用程序授予读取日志的权限并保持轮询,但自JB以来,这种解决方案不起作用。我还发现,由于我只需要知道顶部应用程序是否更改,因此可以执行以下操作:
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
String str = ((ActivityManager.RunningTaskInfo)am.getRunningTasks(1).get(0)).topActivity.getPackageName();
但是我需要知道哪种方式是最好的进行持续轮询,并且当然,如果有其他方法也可以这样做。