在android Q以后 google不允许在后台service 广播等等启动Activity 具体请看google文档
https://developer.android.google.cn/guide/components/activities/background-starts 有一些做法 也可以通过在后台发送一个通知的方式 然后
点击通知的方式来启动Activity 这也是一种方法 但是不是很方便 所以既然做定制化开发 通过修改系统源码的方式 也是可以解决这个问题的
首选在AMS来负责启动Activity
而Ams中在后台启动Activity 会执行moveTaskToFront()
@Override
public void moveTaskToFront(IApplicationThread appThread, String callingPackage, int taskId,
int flags, Bundle bOptions) {
mActivityTaskManager.moveTaskToFront(appThread, callingPackage, taskId, flags, bOptions);
}
而在ActivityTaskManagerService.java 中 moveTaskToFront
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)