Android 10.0以上后台不能启动Activity的解决方法

Android 10.0以上后台不能启动Activity的解决方法,第1张

在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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存