为什么服务不应该启动活动



在这里的状态通知文档中,我读到:

后台服务不应自行启动活动 为了接收用户交互。服务应改为 创建将在以下情况下启动活动的状态通知 由用户选择。

为什么这个"不应该"?

提前致谢

由于服务在后台发生,因此用户很可能在服务运行时执行其他操作。如果你打断他们正在做的事情,只是把你的活动放在上面,他们充其量会感到困惑,最坏的情况是恼火。

他们建议使用通知,因为这样用户就会收到您想要启动活动的提醒,但他们可以选择在准备好时通过在通知栏中点击它来"在自己的时间"启动它。

从用户体验的角度来看,这可能是。如果从后台进程启动活动,则用户看起来和感觉都很奇怪。只是在用户正在做的事情中停止用户,以便您的应用程序可以优先处理,这是非常突兀的。状态栏通知为他们提供了根据需要做出响应的选项,或者在他们认为合适的时间内忽略操作。

您的服务在想要获取用户交互的时刻不知道用户正在做什么。如果用户在另一个应用程序中,创建新活动会杀死(或至少进入睡眠状态)另一个应用程序,可能会打扰用户(如果他正在玩游戏,你可以杀死游戏,如果他正在做更严重的事情,可能会更具破坏性)。

最新更新