2014-01-16 53 views
6

我有一個應用程序在後臺運行(位置服務)。當應用程序處於前景中時,它在我想要的時候可以很好地振動,但是,如果它不在前臺(在多任務處理視圖中),則振動不再起作用。這是不允許的?我的後臺應用程序有一些方法可以提供振動警報嗎?如果不是這樣的嗶聲?iOS背景服務震動手機

現在我只是在做這樣的事情:

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

在導入:

#import <AudioToolbox/AudioServices.h> 
+0

我懷疑這是允許的,但誰知道,你在您的應用設置中啓用了背景音樂?,但是您仍然可以通過其他方式執行此操作,例如通知或其他內容?你想達到什麼目的 ? –

+0

我正在製作一個應用程序,當它在你的口袋裏時,它可以控制,所以我想用某種方式提醒用戶它已經被激活了! – Jonovono

回答

3

如果你想同時您的應用程序在後臺運行,爲用戶提供的東西通知的用戶,可以考慮提供使用本地通知的信息(見UILocalNotification

強制手機振動是不是有以下幾個原因出色的用戶體驗:

  • 有些用戶(包括我自己)禁用振動,而在靜音模式
  • iPad和iPod Touch不振動
  • 用戶可能不知道是什麼導致了振動或聲音,並且可能沒有意識到打開您的應用程序

本地通知以用戶可以控制和識別的方式顯示給用戶。

如果你的意圖是除了通知用戶之外,添加到您的問題&我會盡力幫助。

-2

我敢肯定,你是不是能夠振動的手機,而它在背景狀態。我從來沒有見過一個應用程序這樣做。

+0

這是不正確的,請參閱上面的答案@Femi –

4

如果您啓用背景音頻模式(如Apple在https://developer.apple.com/library/prerelease/ios//qa/qa1668/_index.html所記錄),那麼當應用程序處於後臺狀態時會發生振動。我剛剛證實,在目標屬性中的「所需背景模式」屬性下添加「使用AirPlay播放音頻或流式音頻/視頻流」應用程序可以在應用程序不在前臺時使振動起作用。

+0

在Info.plist中爲所需的背景模式添加「應用程序播放音頻」仍然有效 - 僅在iPhone 5S(iOS 9.1)上進行測試。 –

+1

有人可以證實這在背景上震動嗎? – ageorgios

2

我發現你的應用程序的「背景模式」中檢查「音頻,AirPlay的和畫中畫」 能力工作:

enter image description here

+0

這似乎工作。不管它是不是一個好主意,都是一個單獨的問題! – alexkent