返回信息流我在获取任务栈栈顶的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);
到底是哪里错了呢?
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #27157同步于 2015/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
android任务栈
shuoshu
2015/11/22镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
打印列表打印出来的就只有桌面这个activity,我并没有改变activity的启动模式,按理说新的activity就应该在栈顶呀
【 在 icyfox 的大作中提到: 】
: 调试的话,按理说你应该打印所有的列表出来看看 都是些什么东西
这个就是系统的桌面,你是指桌面有个单独的任务栈吗
【 在 zishi 的大作中提到: 】
: com.sec.android.app.launcher是不是系统的,桌面是不是也有一个任务栈?。?
【 在 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,看是否正确
你打印只是0而已
【 在 shuoshu (shuoshu) 的大作中提到: 】
: 打印列表打印出来的就只有桌面这个activity,我并没有改变activity的启动模式,按理说新的activity就应该在栈顶呀
我一直在5.1的真机上跑来着,按你说的方法试试,谢谢
【 在 xlover 的大作中提到: 】
: 生产环境亲测这样写在5.0以下是work的
: 不知道你这个代码运行时机是什么时候
: 你可以试试后台起个任务每隔一秒打印一下前台的activity,看是否正确