我想在android中开发一个后台服务,可以在启动相机应用程序时通知用户。这是我的代码,用于过滤最近运行的服务。在这段代码的帮助下,我仍然无法检测堆栈的当前顶级活动,这有助于我了解特定应用程序是否已启动。
Service.java
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < recentTasks.size(); i++)
{
if(recentTasks.get(i).topActivity.getPackageName().contains("camera") || recentTasks.get(i).topActivity.getPackageName().contains("Camera"))
{
Toast.makeText(getApplicationContext(), "Camera open", Toast.LENGTH_SHORT).show();
break;
}
}