如果服务不活动,它可以访问 Activity

Can a Service access an Activity if it's not active

我正在制作一个 MP3 播放器,我有 ArrayList 首歌曲需要修改和添加,即使播放器未激活或处于后台。

我是将这些 ArrayList 存储在 Service 中以便它可以在需要时更新它们,还是将它们存储在 Activity 中以便 UI 可以访问它们更容易?我已经看到教程以两种方式进行操作,所以我对如何进行感到困惑。

我在想,如果 Activity 不可见或不活动,Service 就无法访问它们。所以,所有的 mp3 列表都应该存储在 Service 中并将 Activity 绑定到 Service 以便 UI 可以更新?

A Service 可以在应用程序处于后台时访问我的另一个 类,对吗?

一般来说,您在服务中执行所有后台操作。这意味着执行此操作所必需的或与此操作相关的所有 data/information 也由该服务管理。 您的活动只能作为查看或控制服务的可能性。

例如,在您的情况下,PlaylistActivity 将向服务询问当前播放列表并只显示它。 (仅服务视图)。
PlayerActivity 将获取当前正在播放的歌曲、当前进度(例如以秒为单位)和播放状态 (started/stopped)。此信息将显示在典型的播放器界面中。但它也会提供控制来开始或停止歌曲,跳到下一首或上一首歌曲,或者例如。快 forward/backward。如果用户单击这些控件,它会被简单地转发到服务。 (服务的视图和控件)