通过谷歌语音设置闹钟闹钟和定时器Google Voice Action

上一篇博文承诺要写一篇谷歌语音发起闹钟设置的博文,最近这个功能实现得差不多了。趁着今天有点时间,把他总结一下。国内由于一些众所周知的原因,谷歌服务一致不能再国内使用,颇有遗憾。加上国内手机厂商对谷歌原生系统做了大规模定制,谷歌语音被剔除,使用自家优化过,更符合国人使用的语音。前阵子老师要求在谷歌语音中加入APP的设置计时器和闹钟的操作,查了好久也没有查到,本以为是自己的查找方向有问题,后来发现,国内很少有类似谷歌语音(Google Voice Action)的博客,后来只能翻看官方文档。下面讲讲我的学习历程。

  1. 首先搜索android的Google Voice Action的官方文档,不难找到关于Google语音发起操作的Action。其实谷歌语音跟APP交互就类似与Activity之间的跳转。谷歌语音会向某些就有该功能过滤器的APP的指定Activity发起Intent(意图),会传过来一个Action,表示是什么操作,比如是设置闹钟的Intent,Action就是android.intent.action.SET_TIMER,不同的语音操作对应不同的Action。
    谷歌语音的官方文档
    这里写图片描述
    下面以设置闹钟为例讲解一下。
  2. 要支持语音设置闹钟,首先要给你的APP一些权限
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />

其次是在你接收谷歌语音的Intent的Activity页面中设置过滤器
注意:只能是Activity,服务和广播都不行(测试过)

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.SET_ALARM" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

有个问题:如果使用普通的Activity,会出现从谷歌语音界面跳转到指定页面,再跳转回来,这样体验特别差,所以需要把指定Activity改成无界面Activity。无界面Activity如何实现呢?我的上一篇博文有提到:无界面Activity或者APP的实现,参看这个即可。

  1. 最后贴出代码
import android.app.Activi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值