用户通知:自定义振动模式

2024-03-15

是否可以为用户通知警报创建自定义振动模式?例如,我们可以选择为用户通知使用不同的音频。是否也可以有自定义振动模式?

我的意思是使用 swift 在 iOS 上以编程方式执行此操作。


用于在 iOS 中创建自定义振动。使用 AudioServicesPlaySystemSoundWithVibration 和 AudioServicesStopSystemSound。

心跳振动示例

NSMutableDictionary* pulsePatternsDict = [@{} mutableCopy];
        NSMutableArray* pulsePatternsArray = [@[] mutableCopy];

        // beat for 100 times
        for (NSInteger i=0; i<100; i++){
            [pulsePatternsArray addObject:@(YES)]; // vibrate for 100ms
            [pulsePatternsArray addObject:@(100)];

            [pulsePatternsArray addObject:@(NO)];  //stop for 1200ms * 0.3
            [pulsePatternsArray addObject:@(1200*0.3)];

            [pulsePatternsArray addObject:@(YES)];  //vibrate for 100ms
            [pulsePatternsArray addObject:@(100)];

            [pulsePatternsArray addObject:@(NO)];    //stop for 1200ms * 0.5
            [pulsePatternsArray addObject:@(1200*0.5)];
        }

        [pulsePatternsDict setObject:pulsePatternsArray forKey:@"VibePattern"];
        [pulsePatternsDict setObject:[NSNumber numberWithInt:1.0] forKey:@"Intensity"];

        AudioServicesPlaySystemSoundWithVibration(kSystemSoundID_Vibrate, nil, pulsePatternsDict);

但只有调用这个(AudioServicesPlaySystemSoundWithVibration)才会使振动永远不会停止。所以我必须找到一些函数来阻止它。

答案是AudioServicesStopSystemSound。它也是 AudioToolbox 框架中的私有函数。

函数的声明就像

void AudioServicesStopSystemSound(SystemSoundID inSystemSoundID)

NOTE: AudioServicesPlaySystemSoundWithVibration仅适用于 iOS6

目前 iOS 9 和 iOS 9.1 中没有公开可用的 API。

And In iOS 10有一个新的 API 叫做UIFeedbackGenerator。看到这个更多细节。目前仅适用于 iPhone 7 和 iPhone 7 Plus。

免责声明:有一种方法可以直接与 Taptic Engine (iOS 9) 交互,但有一个私有方法。您不应该在 App Store 应用程序中使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户通知:自定义振动模式 的相关文章

  • 在 iOS 7 中创建 UUID 和 UDID

    我想创建 UUID 我下面有可以创建 UUID 的代码 如何在 iOS7 中创建具有多个供应商相同 ID 的 UDID NSString stringWithNewUUID CFUUIDRef uuidObj CFUUIDCreate ni
  • 按字符串删除所有重音符号

    surnameField text Fal l opo remove space and apostrophe NSString surnarmeInput surnameField text stringByReplacingOccurr
  • 使用其他应用程序打开 pdf

    我正在应用程序中显示 pdf 文件 我想在 nag bar 上显示 打开方式 选项 显示 iPhone 上安装的可以打开相同 pdf 的应用程序 如果用户选择任何应用程序 例如 pdf 查看器 则应该使用 pdf 查看器应用程序打开 pdf
  • 签署 apple-app-site-association

    我尝试实施iOS9 Universal Links 我正在使用这个教程 http blog hokolinks com how to implement apple universal links on ios 9 http blog ho
  • 具有 Void 关联类型的通用 Swift 4 枚举

    tl dr 是否可以实例化具有关联类型值的通用 Swift 4 枚举成员Void 背景 我正在使用一个简单的Result枚举 类似于反典型结果 https github com antitypical Result enum Result
  • Swift 错误:可选类型“Double”的值?没有打开

    我是 Swift 新手 这个错误是什么 let lvt self lastVibrationTime let delta self deltaTime let sens self shakeSensitivity let time Doub
  • 在 Interface Builder 中使用通用类作为自定义视图

    我有一个 UIButton 的自定义子类 import UIKit IBDesignable class MyButton UIButton var array String 它是 IBDesignable 我已将其设置为故事板中按钮之一的
  • 如何与Socket.io连接?雨燕4

    我已阅读最新文档 https github com socketio socket io client swift of Socket io对于斯威夫特 还有一个新连接的示例 let manager SocketManager socket
  • 设置应用程序默认的iOS本地通知样式

    从 iOS 5 开始 有两种通知样式 横幅和警报 旧 样式 用户可以在设置中为每个应用程序设置使用哪种样式 但是 现在默认情况似乎是通知以横幅样式显示 我使用本地通知来提醒 现在 将发生的事件 横幅出现后不久就会消失 而且还不够明显 人们可
  • 如何检查 NSMutableArray 的某个索引处是否存在对象?

    例如 我如何验证索引 3 处是否存在某个项目 中的对象NSArray从类 Animal 实例化 好吧 自从NSMutableArray必须保存非零对象 只要数组足够大 你知道有某物在索引处i if myArray count gt 3 id
  • 在 UIWebView 中使用自定义字体

    我想在 UIWebView 中显示自定义字体 我已经将字体放在 应用程序提供的字体 下的 plist 中 使用中的代码 UIWebView webView UIWebView alloc initWithFrame myRect NSURL
  • 在 iOS 6 中隐藏 TabBar

    我想隐藏我的 TabBariOS 6 当我编写下面给出的代码时 它可以在iOS 7但它显示黑线iOS 6 self tabBarController tabBar hidden YES 这是快照iOS 6 尝试使用下面的代码也许这会帮助你
  • Riod-iOS 错误:您没有写入权限“Gem::FilePermissionError”

    我已经下载了一个Riot iOS https github com vector im riot ios并遵循构建说明 当我跑步时 捆绑安装 回溯 最近一次调用 2 来自 usr bin bundle 23 in
  • 在 iOS 上自动启动 Google Authenticator 应用

    是否有支持在 iOS 上启动 Google Authenticator 的方式 我想让客户更轻松地打开应用程序并复制基于时间的代码 然后再将其粘贴回我的应用程序 我凭经验发现这个 Swift 代码将启动该应用程序 UIApplication
  • 不使用 ARC 时替换 __weak

    我有这行代码 weak NSBlockOperation weakOperation operation 这是触发此编译器错误 weak attribute cannot be specified on automatic variable
  • Visual Studio Taco - Remotebuild 将不再部署到远程设备

    直到最近 2016 年 9 月 15 日左右 我还能够使用 VS2015 以及最新版本的 TACO 和 Remotebuild 来构建 Cordova 项目并将其部署到远程设备 iPhone 6 我现在运行的是 ios 10 并更新了 iT
  • 可可豆荚图表未出现(Swift 4)

    我的图表未使用此条形图显示任何条形 我已成功导入图表可可豆荚 目前没有运行时错误 图表中唯一显示的是描述标签 import UIKit import Charts class ViewController UIViewController
  • 在 ARSCNView 中加载大型 3d 对象 .scn 文件 Aspect 适合屏幕 ARKIT Swift iOS

    我正在使用 3d 模型开发 ARKit 应用程序 为此 我使用了 3D 模型并添加了用于移动 旋转和缩放 3D 模型的手势 现在我只面临 1 个问题 但我不确定这个问题是否与什么有关 3d 模型是否存在问题 或者我的程序是否缺少任何内容 问
  • 如何从 Mac OS X 导出证书以获得一对 .cert 和 .key 文件?

    我在 Mac 10 10 1 上创建了证书 并且在钥匙串访问证书中拥有私钥 在 Windows 上我必须使用这个 并且我需要 cert 和 key 文件 如何导出该证书以获得这两个文件 我可以导出为 pb12 或 cert 但不能导出为 c
  • 如何同时关闭 UIAlertController 和键盘?

    我创建了一个注册表单UIAlertController并使用了该方法addTextFieldWithConfigurationHandler添加文本字段 但有一个小问题 当表单显示时 键盘和模式会以流畅的动画出现 关闭表单时 模态消失fir

随机推荐

  • 如何让顶部的大图片变小并最终粘在顶部?

    我想将我的网站分为两部分 包含大图像的标题和包含其他图像 文本等的主要部分 当我滚动页面时 标题上的大图像应该与主要部分一起滚动 在某一时刻 图像应该变得固定 并且主要部分在其后面滚动 我尝试了一些不同的方法 但我无法获得位置 显示 顶部等
  • d3 js - 将气泡聚集到分段

    最新小提琴 https jsfiddle net tk5xog0g 8 https jsfiddle net tk5xog0g 8 第二次摆弄自定义图表 随机将气泡放置在靠近区域的区域 但不能考虑重叠或从中心图表区域脱落的情况 http j
  • 从日期时间中删除分钟 - sql

    DECLARE MinutesToAdd int 20 DECLARE StartTimeDate datetime 2017 06 05 14 37 56 113 DATEADD minute MinutesToAdd StartTime
  • 在 React/Redux 中分派操作时有没有好的方法来防止默认情况?

    我正在调度一个操作 该操作运行一个减速器 在表单提交时将一些文本推送到我的 redux 状态 我知道在 Vue 中你可以preventDefault就在 DOM 中 但我在 React 中没有看到任何东西可以让这看起来成为可能 我想知道阻止
  • WordPress 网站中的 jQuery UI 工具提示

    尝试让工具提示使用图片而不是文本 到目前为止 它适用于我网站中的文本 a href title hello world ALOHA a 这工作正常 它在链接悬停时显示 hello world 但如果我尝试以下操作 工作 jsfiddle 示
  • 如何调试生成格式错误的可执行文件的实验工具链

    我正在使用交叉编译一个实验性的 GNU 免费 Linux 工具链clang http clang llvm org 代替gcc compiler rt http compiler rt llvm org 代替libgcc libunwind
  • sql 将单行转换为键/值列

    我有一个返回 1 行的 SQL 查询 其中包含多个列标题 Col 1 Col 2 Col 3 val 1 Val 2 Val 3 有没有办法将此行转换为 2 列 即 Col 1 Val 1 Col 2 Val 2 Col 3 Val 3 这
  • 严格别名警告,创建对 unsigned char 数组 + 偏移量的 uint32_t 引用

    在 GNU GCC 4 7 0 中 我收到了一些严格的别名警告 我想解决这些警告 我有一个有效负载 来自硬件 unsigned char payload davidlt PAYLOAD SIZE 我有这一行 uint32 t payload
  • 新类型的一个覆盖如何显示?

    我想重写 Haskell 中的默认整数构造函数 以便它们生成字符串 主要是出于好奇 但暂时为 LaTeX 的 frac 不便提供一个很好的输入替代方案 我希望能够使用语言本身 而不是特殊的解析器 但我想这可能行不通 module Main
  • 如何使用 Python 和 MySQLdb 检索 mysql 数据库中的表名?

    我有一个 SQL 数据库 想知道您使用什么命令来获取该数据库中的表名列表 更完整一点 import MySQLdb connection MySQLdb connect host localhost user myself passwd m
  • 关于访问 Tuple2 内的字段时发生错误

    我正在尝试访问 Tuple2 中的字段 但编译器返回错误 该软件尝试在 kafka 主题中推送一个案例类 然后我想使用 Spark Streaming 恢复它 这样我就可以提供机器学习算法并将结果保存在 mongo 实例中 Solved 我
  • 简单的数值表达式求解器

    首先 抱歉我的英语不好 对于我的算法和数据结构类的最后一个项目 我需要用 C 创建一个简单的数值表达式求解器 它需要解决简单的表达式 例如3 12 4 6 我设法拆分表达式并将运算符与数字分开 但我无法继续下去 诀窍是将运算符放在二叉树上
  • ELMAH:Elmah 页面未设计样式,使其难以阅读

    Setup 我通过 NuGet 在 ASP NET MVC 4 站点上安装了 ELMAH 在开发机器上 应用程序安装在根目录下 一切正常 并且样式与 ELMAH 页面通常一样 它总是这样做 我的意思是在开发机器上工作 不是吗 但在服务器上
  • PDFView printWithInfo:autoRotate: 失败

    我正在尝试打印一个由一系列图像构建的 PDF 文档 如果重要的话 我会在 Mozilla 插件中完成所有这些工作 我创建 PDFDocument 并将其放入 PDFView 然后调用 printView printWithInfo NSPr
  • Map.keySet 和 Map.values 上的迭代顺序相同吗?

    对于这样的地图 Map
  • dotfuscator并行优化?

    我的公司使用 Dotfuscator 进行 NET 应用程序混淆 它工作得很好 但是我注意到在我们的构建过程中它是一个单线程操作 Dotfuscator exe 始终在我们 8 核构建机器的单个核心上运行 这让我内心有些哭泣 有什么魔法可以
  • Gunicorn 内存使用量和线程不断增长

    我正在 Kubernetes 环境中使用 Gunicorn 运行 Django 应用程序 几周以来 Pod 的内存使用量持续增长 查看进程列表后 我注意到有许多 Gunicorn 进程看似已死 但仍在使用内存 我启动 Gunicorn 的命
  • android - 以编程方式将 ID 设置为视图

    我正在添加Buttons以编程方式和数量Buttons取决于一些条件 添加规则相对布局 LayoutParams that Buttons彼此顶部对齐我需要设置它们IDs 2 3年前的所有答案都说设置 ID int 没问题 例如setId
  • 如何在 Django 中使用 Matplotlib?

    根据网上的一些例子 我编写了下面的测试代码 有用 但是如果我重新加载页面 饼图将使用相同的图像自行绘制 每次重新加载页面时 某些部分都会变得更暗 当我重新启动开发服务器时 它被重置 我该如何正确绘画Matplotlib http en wi
  • 用户通知:自定义振动模式

    是否可以为用户通知警报创建自定义振动模式 例如 我们可以选择为用户通知使用不同的音频 是否也可以有自定义振动模式 我的意思是使用 swift 在 iOS 上以编程方式执行此操作 用于在 iOS 中创建自定义振动 使用 AudioServic