我正在开发基于 phonegap 的导航应用程序的 iOS 版本。我的应用程序使用 GPS 跟踪用户在步行路线周围的位置,并在用户到达有新指示要遵循的位置时使用音频 (navigator.notification.beep) 和触觉 (navigator.notification.vibrate) 反馈提醒用户。
当我的应用程序在前台运行时,到达地理位置时会发出哔哔声和振动,但是当应用程序在后台暂停时,可以通过按电源按钮关闭屏幕或按主页按钮返回到跳板,只有振动起作用 - 听不到哔哔声。我添加了调试,因此我可以在日志文件中看到应用程序在后台调用 navigator.notification.beep() 但未发出哔声。我已经在运行 iOS 6.3.1 的 iPhone 4S 和运行 iOS 5.1.1 的 iPad 2 上测试了我的应用程序。显然,iPad 不会振动,但当应用程序处于前台时发出哔哔声,但在后台时则不会。
- 我的应用正在使用 Phonegap 2.5.0
- 我正在使用最新的 Xcode v4.6.2 和适用于 iOS 6.3.1 的最新 SDK
- 我在 /www 根目录中使用beep.wav
- 我的应用程序的 .plist 设置了“位置”和“音频”的“UIBackgroundModes”
我的 config.xml 包含设置:
<plugin name="Notification" value="CDVNotification" />
<plugin name="Media" value="CDVSound" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="true" />
任何如何解决此问题的建议将不胜感激:-)