首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

微信iOS收款到语音提醒开发总结

一、背景 为了解决小商户老板们在频繁交易中不方便核对、确认到的痛点,产品MM提出了新版本需要支持收款到语音提醒功能。这篇文章总结了开发过程中遇到的坑和一些小技巧。...二、技术方案 后台唤醒App 收款到语音提醒需要收款方在收到款后,播放一段TTS合成语音播报金额,微信在前台时可以通过模板消息将需要播报的金额带下来,再请求TTS数据并播放,但是app在挂起或者被kill...对比这两种技术方案,VoIP Push Notification明显更适合用于收款到语音提醒的唤醒方案。...要实现这个需求,就必须获取当前静音开关的状态。而苹果在iOS5之后并没有明确地提供一种方式让开发获取静音开关的状态,这就陷入了一个尴尬的局面。...最后我在Reddit上找到了一种曲线救国的方式,实现起来也不复杂:使用AudioServicesPlaySystemSound播放一段0.2s的空白音频,并监听音频播放完成事件,如果从开始播放到回调完成方法的间隔时间小于

3.5K60

iOS13微信收款到语音提醒开发总结

一、背景 随着苹果爸爸在WWDC2019发布了新的iOS13,两年前的这篇微信iOS收款到语音提醒开发总结方案已经不再适用,具体的原因是iOS13中(准确的说是使用XCode11编译)苹果不再允许PushKit...在NSE中,开发者可以更改通知的内容,利用离线合成或者从后台下载的方式,生成需要播报的内容,通过自定义通知铃声的方式,达到语音播报提醒的目的。...语音合成 微信的收款到语音依赖了我们自研的强大的离线语音合成库。...如果你30s内没调用handler方法,并且没有实现serviceExtensionTimeWillExpire方法,那么系统会帮你主动推送后台推给客户端的原内容。...三、总结 其实现在回头看,NSE是比Voip更优雅的一个方案,NSE方案的总体代码量也比Voip少了不少,为什么当初没有选择这个方案呢?

5.8K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS后台唤醒实战:微信收款到语音提醒技术总结

    1、前言 微信为了解决小商户老板们在频繁交易中不方便核对、确认到的功能痛点,产品MM提出了新版本需要支持收款到语音提醒功能。...(本文同步发布于:http://www.52im.net/thread-1404-1-1.html) 2、技术方案 2.1 后台唤醒App 收款到语音提醒需要收款方在收到款后,播放一段TTS合成语音播报金额...对比这两种技术方案,VoIP Push Notification明显更适合用于收款到语音提醒的唤醒方案。...要实现这个需求,就必须获取当前静音开关的状态。而苹果在iOS5之后并没有明确地提供一种方式让开发获取静音开关的状态,这就陷入了一个尴尬的局面。...sendActionsForControlEvents:UIControlEventTouchUpInside];     } } 附录:有关微信、QQ的文章汇总 [1] QQ、微信的技术文章: 《iOS后台唤醒实战:微信收款到语音提醒技术总结

    2.6K11

    Java 实现一个带提醒的定时器

    定时闹钟预览版EXE下载链接:https://files.cnblogs.com/files/rekent/ReadytoRelax_jar.zip ---- 功能说明:   实现了一个休息提醒器,用户首先设定一个倒计时时间...(HH:MM:SS),每走完这个时间便会弹出提醒,让用户停止工作,起身休息。   ...---- 涉及技术:   使用类似Timer的定时器来推迟提醒线程的执行便可完成程序的主体部分,再辅以JavaFX、AWT来构建GUI界面即可。   ...此处使用ScheduledThreadPoolExecutor(点击此处获取该线程池的具体用法)这个线程池来实现延时执行的功能。...threadPool.shutdownNow(); begin.setText("开始计时"); } } ---- 源代码(二)以及BUG修复理念     采用Timer来实现停止功能

    1.8K10

    Java实现-归并排序算法-图详解

    归并排序详解(后序遍历) 大家可能都对二叉树的后序遍历比较熟悉,实际上归并排序本质框架就是二叉树的后序遍历,根结点的遍历只不过换成了治(Merge方法的调用),本文将结合图+代码的方式进行最通俗的讲解...「基本思想」:利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案修补在一起...分的过程 下面自制配了一张图来更好理解分的过程,其实完全就是左右根的后序遍历,根的遍历就是治(Merge方法的调用),分的过程中暂不可考虑根结点的遍历,图中仅展示左边的分的过程,以mid将其分组,递归的终止条件就是...mergeSort(arr, left, mid, temp); //向右递归进行分解 图分组中靠右的部分 mergeSort(arr, mid +...「第七次合并图图解:」 ? 第七次合并是最后一次合并,可以看到数组已经有序了,最后将temp数组copy到原数组即可排序完成!

    84510

    Python实现农历生日提醒功能

    前言: 某天突发奇想,想要实现一个农历生日提醒。...这个时候有了如下的大概思路: 获取农历   ——>    匹配    ——>     提醒     发现实现这个需求最主要的在获取农历这一块,后边两个不是什么巨大挑战。...遂查阅一番资料,发现数据库可以实现阳历转阴历功能。在数据库这一块,我是在是小菜,看不懂存储过程。蛋疼!直接放弃改用其他思路。思考了许久,想到可以通过爬虫爬取现成的日历信息,存库再进行匹配。...二、将想要提醒的人加入一张表,用于匹配     姓名表比较简单,主要有姓名,性别,日期,农历日期。一些星座等其他信息可以根据需要自己添加。...        'del':lambda:DEL()     }     return RUN[type]()          if __name__ == "__main__":          #实现类似命令行交互式效果

    2.6K10

    车辆违章查询和限行提醒程序 -- (2) Java实现发送邮件

    下面我们介绍如何用Java发送邮件,综合网上资料我制作了一篇肥肠简单的教程,只要把邮箱密码和接收者邮箱账户替换成你需要的即可!!!...当然,发送邮件虽然没有成本,但是不如发短信提醒用户来的直接,而且同一个IP和账户发送邮件太多的话,邮件会被识别成为垃圾邮件,用户还得去垃圾箱里面才能看见我们发的邮件,算是有利有弊吧。...JavaMail:我们平时通过 Java 代码打开一个 http 网页链接时,通常可以使用已经对 http 协议封装好的 HttpURLConnection 类来快速地实现。...Java 官方也提供了对电子邮件协议封装的 Java 类库,就是JavaMail,但并没有包含到标准的 JDK 中,需要我们自己去官方下载,这里我从 JavaEE 官方的 Github 仓库下载。...事实上,不用过于其内部实现过程,有些东西会用就行。

    1.1K40

    android service实现循环定时提醒功能

    人每天都要喝8杯水才能保持健康,于是苦逼的程序员总是一遍代码就忘了时间,于是我突发奇想能不能开发一个apk能够实现固定的间隔时间定时提醒我要喝水了呢?...apk基本功能: 1)能够设置间隔时间 2)在apk应用被停止的情况下仍然能定时提醒 3)能够播放指定闹铃 4)能够及时终止提醒 效果图: 设置间隔 ?...; import java.io.IOException; import java.util.Date; /** * Created by baiqihui on 2016/9/21. */ public...,这里采用startService即可实现,使service常驻内存,即使Activity被杀死,依旧可以执行。...2)间隔时间提醒。这里采用的是Android的Alarm机制。 Android中的定时任务一般有两种实现方式,一种是使用Java API里提供的Timer类,一种是使用Android的Alarm机制。

    1.9K20

    借助Gotify轻松实现MSF上线提醒

    在安卓上我们也可以调整其不同等级推送的提醒方式,根据各自手机系统的不同,设置可能略有不同,但是基本可以设置是否是静默提醒,不同提醒音,是否震动等。...和钉钉推送提醒并行 ? ? 设置保存添加gotify配套功能 ? 实现推送函数的主体 ?...之后我们就可以收到gotify给我们发来的提醒 ? ? ? 如果我们使用的是HTTPS,那么按照如下设置就可以了 ? 到此,我们就可以成功实现基于Gotify的MSF上线消息提醒。...0x05 结语 Gotify也可以很方便的用在其他提醒上,CS上线提醒也OK,下一篇可能就写CS上线了吧哈哈哈~ 它的使用范围和场景很广,而且多端同步做的也不错(ios暂不支持),有想法的朋友真的可以去试试用它做别的一些工作...我平常一直用这个做为我服务器上定时任务的执行结果提醒

    3.8K32

    canvas中普通效与粒子效的实现

    canvas可以绘制动态效果,除了常用的规则动画之外,还可以采用粒子的概念来实现较复杂的效,本文分别采用普通效与粒子特效实现了一个简单的时钟。...普通时钟 普通效即利用canvas的api,实现有规则的图案、动画。 效果 该效果实现比较简单,主要分析一下刻度与指针角度偏移的实现。...offscreenCanvasCtx.stroke(); 粒子效 canvas可以用来绘制复杂,不规则的动画。粒子特效可以用来实现复杂、随机的动态效果。...文档解释戳这里 效果 总结 本文主要通过两种不同的方式实现了时钟的动态效果,其中粒子时钟具有更多的可操作性。在以后的canvas系列中会针对粒子系统实现更多的动态效果。

    1.8K50

    python实现微信提醒机器人

    最近微信群里朋友们聊天,年纪大了需要养生了,每天八杯水~想着是否可以实现一个微信机器人每天定时给群内发消息提醒喝水的功能。...登录微信发送消息只需要三行代码import itchatitchat.auto_login()itchat.send('Hello, filehelper', toUserName='filehelper')所以我们实现一个定时机器人只需要以下几步...:使用itchat登录网页版微信获取提醒器的user_name实现定时机制定点发送消息完整代码如下:import timeimport itchat# 设置喝水时间SEND_TINES = ["09:00...in range(0, len(SEND_TINES)): if now_time == SEND_TINES[i]: msg = "今天第{}次提醒喝水...target_nick_names = ["提醒群1", "提醒群2"] # 定时提醒喝水 drink_water_reminder(target_nick_names)同样我们也可以自定义一个节假日祝福机器人

    3.9K91

    kotlin实现通知栏提醒功能示例代码

    一、概述 2019年英雄联盟LPL赛区赛季赛打得火热,作为一个RNG粉丝,想通过app实现RNG赛程提醒,于是就有了这次技术实践。...我在网上找了很久,几乎没找到使用kotlin实现通知栏提醒的合适的文章,于是就到安卓官网看文档,一边翻译一边研究,最终实现了一个简单的通知栏提醒。...二、环境 kotlin版本:1.3.31 android studio版本:3.4.1 在华为手机android 9 API28 环境下测试通过 三、实现 1、创建一个 Empty Activity 项目后...NotificationCompat.Builder(this, CHANNEL_ID) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("RNG赛程提醒...getString(R.string.channel_name) val descriptionText = getString(R.string.channel_description) // 提醒式通知

    1.6K21

    企业如何借助码匠,实现员工核酸提醒

    以上这些场景都曾在码匠身边真实发生过,所以,为了方便自己和同事的工作、生活出行,码匠想要搭建一个核酸提醒应用,该应用会记录用户的核酸时间检查用户核酸检测记录及时提醒需核酸的用户告知哪些同事可与自己结伴前往核酸检测这些功能看起来简单...像这样一个核酸提醒的应用,码匠可以帮助您在十分钟内搭建完成,不仅如此,不管是后续的复用还是扩展,都能分分钟解决。还等什么,快来一起 get 这份教程吧!...组件排布 & 数据绑定文本(Text)组件名:title内容:## ⏰ 核酸检测提醒——{{currentUser.name}}作用:应用的标题,显示为当前用户的核酸提醒,此处文本为 Markdown...,通过登录该应用,终端用户可以查看自己的核酸日期,同时还能提醒需要做核酸的同事及时更新核酸信息。...文章最开头所展现的就是一个扩展版核酸提醒应用的截图,最后也欢迎大家发挥自己的想象力再进行功能扩展,您可以将自己制作的应用发送给我们,好的应用也有机会出现在我们官网的「模版中心」哦。

    1.2K50
    领券