没有调用onPause的完成活动

时间:2015-10-17 09:28:22

标签: android android-activity

我正在使用finish()完成当前活动。这是自动调用onPause。我希望在没有调用onPause的情况下完成活动。我的活动是运行一个歌曲服务,所以我希望当应用程序处于后台时歌曲停止但不希望它在用户从我的应用程序中的一个活动转到另一个活动时停止。我不能在活动之间进行stopService和startService,因为声音之间会有一段时间的延迟。

1 个答案:

答案 0 :(得分:1)

  

服务是一个应用程序组件,可以在后台执行长时间运行的操作,但不提供用户界面

google docs

背景ServiceActivity正在运行或它们之间的任何不连续性无关。

两种类型,“绑定”和“已启动”应该具有不同的持久性特征,但在实践中(不是压力测试)我发现绑定的Service没有因系统内存不足而受到破坏而且更容易实施(尽管教学声称不然)。它使用一些IPC抽象,看起来好像是从Activity直接调用的。同样不能说“开始”的变种(除非它也受到约束),这是IMO更接近我将与网络服务器相关的传统服务(或者任何已经经历过不会无关紧要的延迟的服务) - 例如由于网络传输)。

(讲座结束)我看到你在呼唤finish()。您需要某种方法来关闭Service中的Activity。只是确保在不打算的时候不要这么做。代码会有所帮助,但我可以向你保证这是媒体播放器的工作方式。