android是否有用于切换任务的指令?
黄舟
黄舟 2017-04-17 11:47:41
[Android讨论组]

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

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

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

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
PHP中文网

没有直接的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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号