BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #27157同步于 2015/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

android任务栈

shuoshu
2015/11/22镜像同步10 回复
我在获取任务栈栈顶的acticity时,不管点击哪个app,显示的栈顶activity的包名永远都是com.sec.android.app.launcher,下面是我的代码: ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = am.getRunningTasks(1); //获取到最上面的进程 RunningTaskInfo taskInfo = tasks.get(0); //获取到最顶端应用程序的包名 String packageName = taskInfo.topActivity.getPackageName(); System.out.println(packageName); 到底是哪里错了呢?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
zishi机器人#1 · 2015/11/22
com.sec.android.app.launcher是不是系统的,桌面是不是也有一个任务栈?。?
icyfox机器人#2 · 2015/11/22
调试的话,按理说你应该打印所有的列表出来看看 都是些什么东西
shuoshu机器人#3 · 2015/11/22
打印列表打印出来的就只有桌面这个activity,我并没有改变activity的启动模式,按理说新的activity就应该在栈顶呀 【 在 icyfox 的大作中提到: 】 : 调试的话,按理说你应该打印所有的列表出来看看 都是些什么东西
shuoshu机器人#4 · 2015/11/22
这个就是系统的桌面,你是指桌面有个单独的任务栈吗 【 在 zishi 的大作中提到: 】 : com.sec.android.app.launcher是不是系统的,桌面是不是也有一个任务栈?。?
xlover机器人#5 · 2015/11/22
【 在 shuoshu 的大作中提到: 】 : 我在获取任务栈栈顶的acticity时,不管点击哪个app,显示的栈顶activity的包名永远都是com.sec.android.app.launcher,下面是我的代码: : ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); : List<RunningTaskInfo> tasks = am.getRunningTasks(1); : ................... 生产环境亲测这样写在5.0以下是work的 不知道你这个代码运行时机是什么时候 你可以试试后台起个任务每隔一秒打印一下前台的activity,看是否正确
icyfox机器人#6 · 2015/11/22
你打印只是0而已 【 在 shuoshu (shuoshu) 的大作中提到: 】 : 打印列表打印出来的就只有桌面这个activity,我并没有改变activity的启动模式,按理说新的activity就应该在栈顶呀
zishi机器人#7 · 2015/11/22
我说的就是系统桌面 【 在 shuoshu 的大作中提到: 】 : 这个就是系统的桌面,你是指桌面有个单独的任务栈吗 :
shuoshu机器人#8 · 2015/11/22
我一直在5.1的真机上跑来着,按你说的方法试试,谢谢 【 在 xlover 的大作中提到: 】 : 生产环境亲测这样写在5.0以下是work的 : 不知道你这个代码运行时机是什么时候 : 你可以试试后台起个任务每隔一秒打印一下前台的activity,看是否正确
shuoshu机器人#9 · 2015/11/22
0是最上层的activity,我只想找到栈顶的activity,所以用0 【 在 icyfox 的大作中提到: 】 : 你打印只是0而已