在我的 iOS 应用程序的本地通知中实现振动和声音设置

Posted

技术标签:

【中文标题】在我的 iOS 应用程序的本地通知中实现振动和声音设置【英文标题】:Implement vibration and sound settings in a local notification in my iOS app 【发布时间】:2014-08-22 11:59:09 【问题描述】:

我有一个名为“通知声音”的 UILabel。在它的点击手势上,我想打开 ios 设备的默认警报音列表。在选择这些警报音中的任何一种时,应将所选警报音设置为我的本地通知声音。如何实现?

另外,我想为本地通知添加振动开/关设置。我成功检查了振动 UISwitch 是否打开/关闭。当开关打开时,我使用以下代码设置振动。在 iPhone 上进行了测试,但它不起作用。知道如何实现它吗?

声音和振动一起用于本地通知吗?

if([[UIDevice currentDevice].model isEqualToString:@"iPhone"])

    AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);   

else

    // Not an iPhone, so doesn't have vibrate
    // play the less annoying tick noise or one of your own
    AudioServicesPlayAlertSound (kSystemSoundID_Vibrate);

【问题讨论】:

【参考方案1】:

如果这仍然适用于 iOS 7.1 及更低版本,您可以使用 UIActionSheet 轻松完成此操作。

如果您想根据选择此项目执行操作,我建议您使用 UIButton,例如:(注意:这是在代码中执行此操作)

- (void) actionMethod

   UIActionSheet *action = [[UIActionSheet alloc]...];
   // set action delegate

   // the delegate method is where you want to check 
   // what option you want to do and all the other stuff


- (void) viewDidLoad

   UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
   b.frame = ...;
   [b setTitle:@"Notification Sound" ...];
   [b addTarget:self selector:@selector(actionMethod) ...];
   [self.view addSubview:b];

这基本上应该让你走上正轨。我不相信编程是正确的,除非您自己学习它。所以,去这里查看苹果的文档

UIActionSheet documentation

【讨论】:

以上是关于在我的 iOS 应用程序的本地通知中实现振动和声音设置的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UILocalNotification 设置振动并且声音不会仅振动 iphone

没有显示的本地通知,只有声音/振动

iOS 本地通知不会在锁定屏幕上播放声音

在 iPhone 关闭时继续发出本地通知的声音/振动警报,就像在时钟应用程序中所做的那样

iPhone推送通知声音,“语音通知”

UILocalNotifications 播放自定义声音