【问题标题】:iOS background service vibrate phoneiOS后台服务震动手机
【发布时间】:2014-01-16 22:00:30
【问题描述】:

我有一个在后台运行的应用程序(定位服务)。当应用程序在前台时,它会在我想要的时候很好地振动,但是,如果它不在前台(在多任务视图中),则振动不再起作用。这是不允许的吗?我的后台应用程序有什么方法可以发出振动警报吗?如果不是那种哔哔声呢?

现在我只是在做这样的事情:

    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

导入时:

#import <AudioToolbox/AudioServices.h>

【问题讨论】:

  • 我怀疑它是否允许,但谁知道,您是否在应用程序的设置中启用了背景音乐?但是您仍然可以通过其他方式进行操作,例如通知或其他方式?你想完成什么?
  • 我正在制作一个你可以控制的应用程序,当它在你的口袋里时,我想要一些方法来提醒用户它被激活了!
  • 振动在 ios 12.1 (iphone 7) 中不起作用,如果有任何其他方法会有所帮助 - 启用背景音频模式

标签: ios iphone ios7


【解决方案1】:

我发现在您的应用的“背景模式”中检查“音频、AirPlay 和画中画”功能有效:

【讨论】:

  • 这似乎有效。这是否是一个好主意是另一回事!
【解决方案2】:

如果您试图在您的应用在后台运行时向用户提供某事通知,请考虑使用本地通知来提供该信息(请参阅UILocalNotification。)

强制手机振动并不是很好的用户体验,原因如下:

  • 部分用户(包括我自己)在静音模式下禁用振动
  • iPad 和 iPod Touch 不振动
  • 用户可能不知道是什么原因导致了振动或声音,也可能没有意识到打开您的应用

本地通知以用户可以控制和识别的方式显示给用户。

如果您的意图不是通知用户,请将其添加到您的问题中,我会尽力提供帮助。

【讨论】:

    【解决方案3】:

    如果您启用后台音频模式(Apple 在https://developer.apple.com/library/prerelease/ios//qa/qa1668/_index.html 中记录),那么当应用程序处于后台状态时会发生振动。我刚刚验证了在目标属性的“必需的背景模式”属性下添加“应用程序播放音频或使用 AirPlay 流式传输音频/视频”条目允许振动在应用程序不在前台时工作。

    【讨论】:

    • 在 Info.plist 中将“应用程序播放音频”添加到所需的背景模式仍然有效 - 刚刚在 iPhone 5S (iOS 9.1) 上进行了测试。
    • 有人可以确认这是背景振动吗?
    • 不,在我的 iPhone 7 (iOS 11.2.5) 声音在背景上有效,但振动不起作用((
    【解决方案4】:

    我很确定您无法在手机处于后台状态时振动手机。我实际上从未见过应用程序这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2015-03-18
      • 1970-01-01
      相关资源
      最近更新 更多