如何将 MediaPlayer 服务绑定到多个活动?
How to bind MediaPlayer Service to multiple activities?
我正在创建一个音乐播放器应用程序。我创建了一个 MediaPlayerService
class,并且在 MainActivity
中运行良好。但我不知道如何在不将其设为 null 的情况下传递该服务并将其传递给另一个 activity,因为我也想从另一个 activity 控制它。如果我试图从主要 activity class 获取它,那么我会得到 NullPointerException
.
提前致谢
没有代码我可以建议一个简单的解决方案:单例模式。
在 Kotlin 中你可以这样定义一个单例:
object MediaPlayerService {
fun play(...) {...}
}
然后使用它:
MediaPlayerService.play(...)
这样您将只有一个对象实例。创建实例后,您可以使用 Kotlin Flow 进行发布和订阅。
here 您可以阅读有关 Kotlin Flows 的更多信息。
我正在创建一个音乐播放器应用程序。我创建了一个 MediaPlayerService
class,并且在 MainActivity
中运行良好。但我不知道如何在不将其设为 null 的情况下传递该服务并将其传递给另一个 activity,因为我也想从另一个 activity 控制它。如果我试图从主要 activity class 获取它,那么我会得到 NullPointerException
.
提前致谢
没有代码我可以建议一个简单的解决方案:单例模式。 在 Kotlin 中你可以这样定义一个单例:
object MediaPlayerService {
fun play(...) {...}
}
然后使用它:
MediaPlayerService.play(...)
这样您将只有一个对象实例。创建实例后,您可以使用 Kotlin Flow 进行发布和订阅。 here 您可以阅读有关 Kotlin Flows 的更多信息。