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()中处理语音识别结果。

by iefreer

Android:创建可穿戴应用 - 语音操作

时间: 2024-10-10 04:57:01

Android:创建可穿戴应用 - 语音操作的相关文章

Android:创建可穿戴应用 - 自定义布局

创建自定义布局(Creating Custom Layouts) 本文将介绍如何创建自定义通知以及使用可穿戴UI库来创建自定义布局你同时还需要了解可穿戴设计准则(Wear Design Principles)除了屏幕尺寸和瞬读能力(Glance ability)外,为可穿戴应用创建布局大体和普通手机一样. 创建自定义通知(Custom Notifications) 通常,你应该在手机应用上创建通知然后自动同步到可穿戴应用.这让你只需要构建通知一次,就可以呈现于多种设备(不只是可穿戴,最终还包括汽

android wear开发之:创建可穿戴设备应用 - Creating Wearable Apps

注:本文内容来自:https://developer.android.com/training/wearables/apps/index.html 翻译水平有限,如有疏漏,欢迎批评指教. 译:山人 创建可穿戴设备应用 Creating Wearable Apps Wearable apps run directly on the device, giving you access to hardware such as sensors and the GPU. They are fundamen

Android 创建Library Project(库项目)与引用操作

由于在开发过程,为了实现未曾了解的某种效果与特定功能,而求助于网上优秀的开源项目,在使用过程中发现引用开源的Library Project(库项目),的确可以解决很多问题,而且也给出了一种思路,好的软件公司也需要有自己的Library Project(库项目),这样不必要进行重复开发工作,这只是自己的想法.下面将自己的心得或体会记录如下,以下是自己的编写风格. [转载使用,请注明出处:http://blog.csdn.net/mahoking/article/details/36405219]

Android:创建可穿戴应用 - 打包发布

打包可穿戴应用(Packaging Wearable Apps) 内容包括使用Android Studio进行打包以及手动打包以及关闭资源压缩(Turn off Asset Compression).当应用发布时,你必须把可穿戴应用打包进一个手机应用中, 因为用户不能直接在可穿戴设备上浏览和安装应用.如果打包正确,当用户下载手机应用时,系统会把可穿戴应用自动推送到配对的可穿戴设备中. 注意:这个功能对于使用调试密钥签名的应用不工作,在开发过程中,必须使用adb install或Android S

以编程的方式使用SQLite数据库 执行CRUD(创建 读取 更新 删除)操作

DBAdapter数据库辅助类 package com.databses; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.s

Android 创建单例模式的几种方法

java模式之单例模式:单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例.特点:1,一个类只能有一个实例2,自己创建这个实例3,整个系统都要使用这个实例 Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在.在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作.一些资源管理器常常设计成单例模式.外部资源:譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中.每台计算

android创建桌面快捷键shortcut

有很多人也写过创建桌面快捷键的blog,但是大部分都只讲了怎么用,其实技术使用起来都很简单,但是你使用后下次还知道吗? 根本原因还是不清楚原理,今天我就来讲讲shortcut创建过程. 过程: home键-->点击添加-->弹出一个Dialog对话框-->Dialog对话框中的数据,是一个系统级专门用来查找的Activity启动 --->查找出数据显示能添加的快捷方式--->然后保存数据,退出dialog-->桌面launcher操作-->完成 原理: 查看源码,

Android学习---通过内容提供者(ContentProvider)操作另外一个应用私有数据库的内容

一.什么是ContentProvider? ContentProvider直译过来就是内容提供者,主要作用就是A应用提供接口给B应用调用数据,和之前介绍的sharedPreference和直接开放文件访问类似,都是共享应用程序数据,不同的是之前的两种文件格式可能完全不同,如可能为xml,txt,sql等等,这里ContentProvider返回的数据格式是统一的,因此应用的更为广泛一点. 二.实例 这里使用的是A应用通过ContentProvider共享数据给B应用.这里A应用用的是前文中的an

数据库表的创建、管理和数据操作(实验一),数据库创建

数据库表的创建.管理和数据操作(实验一),数据库创建 今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识.[实验要求]:利用SQL语言进行数据库表的各种操作:1.数据库表的创建.修改和删除操作.2.向表中进行数据的插入.删除和修改操作.[实验内容]1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student.Course.SC.2.利用INSERT.UPDATE和DELE