gpt4 book ai didi

ios - 当 phonegap 应用程序在 iOS 上处于后台时,蜂鸣声不起作用

转载 作者:可可西里 更新时间:2023-11-01 05:55:51 25 4
gpt4 key购买 nike

我正在开发基于 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
  • 我正在使用 beep.wav在/www 根
  • 我的应用程序的 .plist 设置了“location”和“audio”的“UIBackgroundModes”
  • 我的 config.xml 包含设置:

任何解决此问题的建议将不胜感激:-)

最佳答案

如果其他人有兴趣,这里是我解决这个问题的方法:

我更新了 Local Notifications用于 Cordova 2.x 的 phonegap 插件。我使用该插件通过在 www/中为 phonegap 放置与 beep.wav 相同的声音,为 iOS 项目资源中的本地通知放置与 beep.caf 相同的声音,从而为前景蜂鸣声提供背景蜂鸣声和 phonegap。

function doBeep(){
cordova.require('cordova/plugin/localnotification').add(
function(){
console.log("Successfully added local notification");
},
function(){
console.error("Error adding local notification");
},{
date: new Date(new Date().getTime()),
repeat:'',
message: '', // No message so just beep
hasAction: true,
badge: 0,
id: '1',
background:'background',
foreground:'running',
sound: 'beep.caf'
}
);
}

function running(){
console.log("Running in the foreground so use a phonegap notification");
navigator.notification.beep();
}

function background(){
console.log("Running in the background so an iOS local notification will be used");
}

关于ios - 当 phonegap 应用程序在 iOS 上处于后台时,蜂鸣声不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16735449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com