我在服务中有一个按钮,用户点击它会显示最近的应用程序对话框,但我不知道实现这一目标的正确方法,有人可以帮忙吗?
答案 0 :(得分:1)
ActivityManager有方法getrunningtasks()。
ActivityManager activity_manager = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
然后调用getRunningtasks()获取当前正在运行的任务的列表:
List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < recentTasks.size(); i++) {
Log.d("Executed app",
"Application executed : "
+ recentTasks.get(i).baseActivity.toShortString()
+ "\t\t ID: " + recentTasks.get(i).id + "");
}
并请添加权限以在清单文件中获取正在运行的任务,如下所示:
<uses-permission android:name="android.permission.GET_TASKS"/>
希望有所帮助。
答案 1 :(得分:1)
可以使用TOGGLE_RECENTS Intent打开最近的应用程序。
Intent intent = new Intent ("com.android.systemui.recent.action.TOGGLE_RECENTS");
intent.setComponent (new ComponentName ("com.android.systemui", "com.android.systemui.recent.RecentsActivity");
startActivity (intent);
答案 2 :(得分:0)
您可以创建自己的对话框来显示最近的应用
ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
然后您可以使用
获取所有正在运行的应用getRunningTasks