我有一个在后台运行的应用程序(位置服务).当应用程序位于前台时,它会在我想要它时振动很好,但是,如果它不在前台(在多任务处理视图中),则振动不再起作用.这是不允许的?我的后台应用程序是否有某种方式可以提供振动警报?如果不是那个哔哔声呢?
现在我正在做这样的事情:
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
Run Code Online (Sandbox Code Playgroud)
导入时:
#import <AudioToolbox/AudioServices.h>
Run Code Online (Sandbox Code Playgroud)
如果启用背景音频模式(如Apple在https://developer.apple.com/library/prerelease/ios//qa/qa1668/_index.html中所述),则当应用程序处于后台状态时会发生振动.我刚刚确认在目标属性中的"必需背景模式"属性下添加"应用播放音频或使用AirPlay传输音频/视频"条目允许振动在应用不在前台时工作.
如果您尝试在您的应用程序在后台运行时向用户提供某项通知,请考虑使用本地通知来传递该信息(请参阅 参考资料UILocalNotification)。
强制手机振动并不是一种很好的用户体验,原因如下:
本地通知以用户可以控制并识别的方式向用户显示。
如果您的意图除了通知用户之外,请将其添加到您的问题中,我会尽力提供帮助。