1

我正在制作一个 Android 库项目,用于通过我们的 API 播放音乐文件。目前我正在使用 MusicService(带有媒体播放器)来播放音乐文件。MusicService 包含一个收音机的实例。一台收音机正在为 MusicService 提供音乐文件。因此,收音机可以用于检索 SD 卡上的文件、通过 api 调用检索文件……收音机的类型可以随着使用相同库构建的不同应用程序而不同。

现在,我想知道......如果我用同一个库创建 2 个应用程序。一个应用程序使用带有 SD 卡的收音机,另一个应用程序使用带有 api 歌曲的收音机。这两个应用程序是否会相互干扰,都在操作同一个服务?

因此,当我第一次从 SD 卡应用程序开始播放时,点击播放,服务开始播放。如果那时,我在设备上打开第二个应用程序并点击暂停,它会暂停从另一个应用程序播放的音乐吗?

我知道这听起来很复杂,但我希望我把我的问题说清楚了。

4

2 回答 2

3

Android 库项目被合并到每个使用它们的应用程序的 APK 中(在构建时)。一旦它们被合并,它们就是完全独立的、独立的进程等(默认情况下)。因此,您不应该在使用相同库的同一设备上的不同应用程序之间有任何重叠或干扰。

http://developer.android.com/tools/projects/index.html#LibraryProjects

这是一个相关问题,答案更深入:Android Shared Service?

于 2013-01-22T17:50:22.750 回答
-1

是的,服务会干扰,除非您以不同的意图启动它们。根据我的经验,只会触发其中一个,这可能会向您显示不稳定的行为。

您可以做什么,也许,在两个应用程序中为您的服务定义单独的操作,并使用隐式意图来启动它们。

如果您使用的是显式意图,我认为它可能会起作用,但不确定。你有没有观察到什么?

于 2013-01-22T17:45:00.840 回答