当前台活动具有CLOSE_SYSTEM_DIALOGS时,从服务启动活动

时间:2016-10-22 17:33:57

标签: android

我正在提供能够从远程发送的命令启动软件包和活动的服务(不,它不是病毒,它仅用于我的公司需要远程控制设备的业务目的他们有)。根据这些命令,我​​可以使用以下命令启动活动:

context.startActivity(new Intent(context, Activity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));

但是,前台活动是否有CLOSE_SYSTEM_DIALOGS作为操作(我认为这是原因),我想要启动的活动没有启动。我没有看到任何消息记录......

当我将设备植根时,我也试图做一个" su -c am start -n< myActivity>但这也行不通。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题不在于它关闭系统对话框......这是我做的错误诊断。问题是这个活动正在重新排序任务,每当它被暂停时,它都需要活动管理器并使自己处于最顶层。这样,其他任何活动都不会在上面。我会修改其他活动,以便尊重"尊重"调用onPause时我的服务抛出的活动。所以现在我会尝试确定哪个是激活暂停的活动,如果它来自服务,它就不会再尝试再次登顶。