首页 > android是否有用于切换任务的指令?

android是否有用于切换任务的指令?

类似于Android多任务界面,可以切换到指定的App

update:修改一下,其实是想问是否有能在Android shell中执行的指令,看了一下Google的文档,发现am也是可以实现的:

am start -W --activity-brought-to-front -n [<URI> | <PACKAGE> | <COMPONENT>]

没有直接的api可以调用,不过这种切换还是可以实现的。
思路如下:
多任务切换实现包含两个部分,分别是,当前运行APP列表的显示,以及切换到指定APP某一个Activity(一般是最后一个入栈的Activity)方法。

  1. ActivityManager.RunningTaskInfo这个类用于保存当前正在运行的某一个task栈的数据。该类的baseActivitytopActivity分别用于记录第一个入栈和最后一个入栈的Activity。同时该类还会记录一些其他属性,如id,缩略图等。(这里记录的是ActivityComponentName)
  2. ActivityManagergetRunningTasks(int maxNum)返回当前正在运行的task栈列表,这里需要传入一个maxNum用来限制返回栈的数量。(如果需要返回所有运行栈的话,可以调用ActivityManagergetRunningAppProcesses()来获取正在运行的应用进程列表,从而得到所有正在运行的应用进程的数量)
  3. 启动一个Activity只需要把RunningTaskInfo中获取的ComponentName传入Intent即可。
    Intent intent = new Intent();
    ComponentName cn = runningTaskInfo.topActivity;
    intent.setComponent(cn);
    startActivity(intent);

http://developer.android.com/reference/android/app/ActivityManager.RunningTaskInfo.html
http://developer.android.com/reference/android/app/ActivityManager.html
http://developer.android.com/reference/android/content/ComponentName.html

【热门文章】
【热门文章】