2012-04-26 116 views
1

我正在尝试使用phonegap/cordova开发包含音乐播放器的应用程序。我希望音乐在应用程序失去焦点后继续在后台播放。从我所做的研究看来,在Android平台上实现此目标的唯一方法是从服务运行媒体操作。在Android上运行Phonegap应用程序作为服务

不幸的是,Phonegap不提供任何JavaScript钩子来做到这一点(这是有道理的,因为这将是设备特定的功能)。我正在寻找利用phonegap API的方法,但允许音乐在Android的后台播放。有任何想法吗?

+2

如果我猜的话,你将不得不满足于PhoneGap的实现你的音乐播放器的UI并以Java代码作为服务实现播放器本身。 – CommonsWare 2012-04-26 19:49:15

回答

1

您可能需要想出一个Android服务(即java和/或ndk)来处理后台播放,并从phonegap下使用的javascript/html中触发它。

有多种方式可以进行交互 - 我将在总览中提出建议,实际实施可能需要一些额外的步骤。

  • 您可以注册自定义的Java方法使他们的JavaScript程序访问,这可能是普通的Android活动的服务作用包装。

  • 你可以设置,您的播放器(或东西对开吧)与平台注册处理和触发超链接的文档中的自定义意图URL

  • 可能您听一个机器人服务在本地插座和接触,从JavaScript(你可能需要扩展的PhoneGap为了做到这一点)

+0

我担心我不得不做一些自定义的事情。这种减少了我使用Phonegap的一些优势,但它可能仍然是值得的。 – Shawn 2012-04-26 20:36:31

+0

我怀疑它会是那么糟糕。如果html/javascript对于构建UI仍然很有吸引力,那么它最多只需要多花一天时间来学习如何将事物连接起来以实现javascript-java的交互(相对于所有的java解决方案,您仍然可以需要一个Android服务和活动服务交互)。你可以抽象出Android的独特性,如果你想保持你的UI的可移植性,可以用适合其他平台的东西替换它。 – 2012-04-26 21:09:53

相关问题