Android:创建耐磨应用 - 语音操作
加入语音处理能力(Adding Voice Capabilities)
语音操作为用户体验可穿戴的重要组成部分,它允许用户快速、免提方式来运行操作。
Wear它提供了两种类型的语音操作的:
该系统提供(System-provided)
这些语音操作是基于任务的,且内置于Wear平台。
语音命令到达时。在你想启动的活动(Activity)中进行动作过滤。
比方“记一下”(Take a note)或“提醒一下”(Set an alarm)。
应用提供(App-provided)
这些语音操作是基于APP的,声明方式和启动图标一样。
用户说“開始”(Start)来使用这些语音操作以及一个你指定的活动。
声明系统提供的语音操作
Android Wear平台提供了一些基于用户动作的语音意图(voice intents)。比方上述“记一下”或“提醒一下”。
这让用户仅仅须要说出自己想要做的操作。而由系统来确定该启动哪个活动来响应。
当用户发出语音指令时,你的应用程序能够对此意图进行侦听和过滤。这样合适的应用将被该语音意图(intent)所启动。
假设你想启动一个后台服务。以可见提示的方式显示一个活动,然后在活动启动服务。
当你想摆脱这个可见提示时。确保调用finish()函数。
比方,对于"Take a note"命令,声明例如以下的意图过滤器(intent filter)来启动一个名叫MyNoteActivity的活动:
<activity android:name="MyNoteActivity">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="com.google.android.voicesearch.SELF_NOTE" />
</intent-filter>
</activity>
以下是Wear平台所支持的语音意图(voice intents)列表:
声明应用提供的语音操作
假设上述系统语音意图都不能满足你的要求,你能够用“Start MyActivityName”的语音指令来直接启动你的应用。
注冊一个“Start”操作和在手机应用上注冊一个启动图标相似。
想指定“Start”命令后面的文本參数。须要给对应活动指定一个label属性。
比方,以下这个意图过滤器将识别"Start MyRunningApp"语音操作并启动StartRunActivity。
<application>
<activity android:name="StartRunActivity" android:label="MyRunningApp">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
获取Free-form语音输入
为了能使用语音操作来启动活动,你还能够调用系统内置的语音识别活动(Speech Recognizer activity)来获取用户的语音输入。
这对于语音识别和兴许处理是有帮助的,比方运行一个搜索或者发送语音消息。
在应用中,你能够使用ACTION_RECOGNIZE_SPEECH动作来调用startActivityForResult()函数。
这将启动该活动并能够在onActivityResult()中处理语音识别结果。
參考链接:
Android:创建耐磨应用 - 语音操作的更多相关文章
- Android 创建内容提供器(ContentResolver)
如果想实现跨程序共享数据的功能,官方推荐的方式就是使用内容提供器,可以通过新建一个类去继承 ContentResolver 的方式来创建一个自己的内容提供器. ContentProvider 类中有六 ...
- Android学习四:数据库操作
1前言 android中使用SQLite作为数据库,在进行相关的开发的时候不需要导入包.SQLite起符合SQL标准,也有自己的一些特性,是一个轻量级的数据库. 2代码 简单的数据库类封装 packa ...
- android: 创建自己的内容提供器
我们学习了如何在自己的程序中访问其他应用程序的数据.总体来说思 路还是非常简单的,只需要获取到该应用程序的内容 URI,然后借助 ContentResolver 进行CRUD 操作就可以了.可是你有没 ...
- [ 转]Android快速开发–使用ORMLite操作数据库
OrmLite是一个数据库操作辅助的开源框架,主要面向Java语言.在Android面向数据库开发中,是一个比较流行的开源框架,方便操作而且功能强大,今天来学习一下,最近的项目中也有所涉及,写个博客来 ...
- android 创建 xml文件
android创建xml文件的方法. 要操作android的外部存储,所以要在AndroidManifest.xml文件中添加权限. <uses-permission android:name= ...
- Android学习记录(2)—Android中数据库的常见操作
android中数据库操作是非常常见了,我们会经常用到,操作的方法也有很多种形式,这里我就把最常见的两种形式记录下来了,以备以后用到方便查看.我就不写注释和解释了,因为android数据库的操作和其它 ...
- Android Bitmap 载入与像素操作
Android Bitmap 载入与像素操作 一:载入与像素读写 在Android SDK中,图像的像素读写能够通过getPixel与setPixel两个Bitmap的API实现. Bitmap AP ...
- [Android]通过JNI访问并操作Bitmap的元素,支持RGB565和ARGB8888
[Android]通过JNI访问并操作Bitmap的元素,支持RGB565和ARGB8888 标签: androidbitmapjni 2014-05-09 20:35 2985人阅读 评论(1) 收 ...
- iOS Storyboard创建APP 的国际化操作
Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 ...
随机推荐
- 关于在ios7之后改变状态栏颜色
看到网上都说 在ios7之后要这样设置 首先,须要在Info.plist配置文件里,添加键:UIViewControllerBasedStatusBarAppearance,并设置为YES: 然后,在 ...
- NOJ1184 失落的邮票 哈希表
意甲冠军 我们共收集N邮票.现在失去了2张,剩下N-2张-..原集邮收集了所有对.因此,找到什么两枚邮票是一个.它们输出. (确定缺少邮票是不一样的) 思路 由于编号比較大,能够用hash表压缩成数组 ...
- delphi 发送消息控制滚动条
1.Perform 函数 DBGrid1.Perform(WM_VSCROLL,SB_PAGEDOWN,0); //控制滚动条,向后翻页 DBGrid1.Perform(WM_VSCROLL,SB_ ...
- Kiwi Syslog server 日志服务器搭建
Kiwi syslog server 是一款很不错的日志服务器软件,安装过程就不多说,Linux 服务器日志由于本身就是syslog的,所以不用转换,但是windows 系统的日志格式是event形式 ...
- 风起看云涌,叶落品人生 - Google 搜索
风起看云涌,叶落品人生 - Google 搜索 风起看云涌,叶落品人生
- DIV水平和垂直居中的实现
在div的宽度和高度固定的情况下,实现div水平和垂直居中普遍采用如下的方式: <!DOCTYPE html> <html> <head> <style ty ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
- 黑马day07 注册案例(二)
1依据index.jsp我们首先制定了注册的功能,当点击注册button什么时候.超链接到注册页面.下面是一个注册jsp页 <%@ page language="java" ...
- HDOJ 2665 Kth number
静态区间第K小....划分树裸题 Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- BrowserSync使用
在Gulp中使用BrowserSync 2016-02-24 23:47 by 那时候的我, 116 阅读, 0 评论, 收藏, 编辑 博客已迁移至http://lwzhang.github.io. ...