Звуковой сигнал не работает, когда приложение iOS работает в фоновом режиме

Я работаю над iOS-версией моего навигационного приложения, основанного на телефонном разрыве. Мое приложение отслеживает пользователяs местоположение вокруг маршрута прогулки с использованием GPS и оповещение пользователя с использованием аудио (navigator.notification.beep) и тактильной (navigator.notification.vibrate) обратной связи, когда они достигают местоположения, в котором естьновые инструкции для них, чтобы следовать.

Когда мое приложение работает на переднем плане, при достижении географического местоположения раздаются как звуковой сигнал, так и вибрация, но когда приложение приостанавливается в фоновом режиме, либо нажав кнопку питания, чтобы выключить экран, либо кнопку возврата домой, чтобы вернуться к трамплину работает только вибрация - гудок не слышен. Я'я добавил отладку, чтобы я мог видеть в файле журнала, что приложение вызывает navigator.notification.beep () в фоновом режиме, но звуковой сигнал нет сделал. Я'Я проверил мое приложение на iPhone 4S под управлением iOS 6.3.1 и iPad 2 под iOS 5.1.1. Очевидно, что iPad невибрирует, но звуковой сигнал работает, когда приложение находится на переднем плане, но не в фоновом режиме.

Мое приложение использует PhoneGap 2.5.0Iиспользую последний Xcode v4.6.2 с последним SDK для iOS 6.3.1Iм, используяbeep.wav в корне / wwwМое приложениеs .plist sets «UIBackgroundModes» из «место нахождения" а также "аудио»

Мой config.xml содержит настройки: <

имя плагина = "Уведомление» значение =»CDVNotification "/> <

имя плагина = "Средства массовой информации" значение =»CDVSound "/> <

имя предпочтения = "MediaPlaybackRequiresUserAction» значение =»ложь "/> <

имя предпочтения = "AllowInlineMediaPlayback» значение =»правда "/>

Любые предложения, как это исправить, были бы очень благодарны :-)

Ответы на вопрос(1)

Решение Вопроса

В случае, если кто-то еще заинтересован, здесьКак я решил это:

Я обновилЛокальные уведомления Плагин PhoneGap для использования с Cordova 2.x. Я использовал плагин для обеспечения фонового звукового сигнала и телефонной пропасти для переднего звукового сигнала, поместив в www / as beep.wav тот же звук для phonegap, что и для локального уведомления в ресурсах iOS-проекта как beep.caf.

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");
}
 DaveAlden10 июн. 2013 г., 22:38
fusion27: я ответил на твой вопросВот +1 был бы оценен :-)
 fusion2731 мая 2013 г., 17:48
любой шанс, что вы можете опубликовать код, который проверяет близость ("когда они достигают места ") условие тестирования?
 DaveAlden31 мая 2013 г., 21:10
Конечно, я могу сделать, но то, как я это делаю, немного сложнее: реальные испытания привели меня к использованию расчета расстояния с ограниченным перекрестным соединением из-за колебаний GPS. Может быть, опубликовать как новый вопрос, опубликовать / отправить ссылку на него, и тогда я могу ответить на него? Затем это's не спрятаны под этим вопросом, и другие люди могут найти его ... :-)

Ваш ответ на вопрос