文档章节

在android search dialog或widget上加入语音搜索(Voice Search)

勤奋的桑尼
 勤奋的桑尼
发布于 2014/09/01 15:08
字数 430
阅读 111
收藏 0

今天看到别人家的搜索栏上都有语音搜索,想来也算一种规范,遂准备在自己的搜索上也加一个。看了文档之后发现,不是一般的简单啊。

官方关于search及相关function配置地址:http://developer.android.com/guide/topics/search/search-dialog.html

其中,关于Voice Search这段,仅需在现有的searchable中加入:

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" >

譬如:

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/search_label"
    android:hint="@string/search_hint"
    android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" >
</searchable>

showVoiceSearchButton 用来enbale voice search,launchRecognizer, 用来表明voice search按钮应该启动一个返回文本的recognizer。

    关于voice search还有一些属性,参考官方文档:http://developer.android.com/guide/topics/search/searchable-config.html

    这里简单说下:

    基本语法规则:

android:voiceSearchMode=["showVoiceSearchButton" | "launchWebSearch" | "launchRecognizer"]
    android:voiceLanguageModel=["free-form" | "web_search"]
    android:voicePromptText="string resource"
    android:voiceLanguage="string"
    android:voiceMaxResults="int"
  • android:voiceSearchMode(上文中加入的那句):

    • Keyword(必须的,用来提供语音搜索功能),属性值可以是:

      • "showVoiceSearchButton": 显示语音搜索按钮。如果语音搜索在设备上是可以使用的,那么,"launchWebSearch"或"launchWebSearch"必须有一个被设置(使用 | 分隔)

      • "launchWebSearch": 直接导向内置的语音网页搜索的activity,一般情况下我们不使用这个,因为这会离开我们的应用

      • "launchRecognizer" : 直接导向内置的语音录音activity,此activity提示用户说话,将用户的语音转换成文本,然后导向我们自己定义的searchable activity

  • android:voiceLanguageModel: 

    • "free_form" : 检测query

    • "web_search":较短的,像search的段落,使用的language范围比free-form广

  • android:voicePromptText: 显示在voice input dialog的消息

  • android:voiceLanguage:期望的语音语言

  • android:voiceMaxResults:最多返回结果数



© 著作权归作者所有

勤奋的桑尼
粉丝 1
博文 32
码字总数 32516
作品 0
徐汇
程序员
私信 提问
Android 搜索框 search dialog 和 search widget

分为search dialog和search widget 区别: A,search dialog是一个被系统控制的UI组件。但他被用户激活的时候,它总是出现在activity的上。 B,Android系统负责处理search dialog上所有的事件,...

CrazyManDF
2016/08/08
168
0
Android 新攻击:Google 语音搜索攻击

香港中文大学的研究人员在预印本网站上发表论文(PDF), 介绍了一种新颖的权限绕过攻击方法:Google语音搜索攻击。攻击者可利用一个零权限的Android应用VoicEmployer,前台激活操作系统 内置...

oschina
2014/07/24
3.1K
17
Genymotion 2.0 发布,安卓的 x86 模拟器

Genymotion 2.0 发布了,增加对 Android 4.3 的支持,新特性包括拖放复制文件以及拖放 APK 到虚拟设备。 Genymotion 是一个非常快速的 Android 模拟器,秒级开机关机速度,傻瓜式安装,易于使...

oschina
2013/11/14
12.7K
53
Google 如何逐步牢牢控制 Android 开源系统

导语:一无所有无所谓失去,Android一开始就是如此,而当独占鳌头时,保持开放、兼容就没那么容易了。 Android已然从昔日Google的保护伞长成了亟需Google保护的移动财产。移动是互联网的未来...

oschina
2015/06/09
7.5K
37
Google 是如何牢牢控制 Android 开源系统的?(上)

导语:一无所有无所谓失 去,Android一开始就是如此,而当独占鳌头时,保持开放、兼容就没那么容易了。 Android已然从昔日Google的保护伞长成了亟需Google保护的移动财产。移动是互联网的未来...

oschina
2013/10/22
6.2K
49

没有更多内容

加载失败,请刷新页面

加载更多

拥有有趣灵魂的程序员们,程序员访谈(一)

点击上方关注我们,让小care关爱你! 程序员群体一直都是低调多金的代表,而近段时间以来,程序员在网络上除了高薪之外,总是会和屌丝、苦逼、格子衫、没情趣...联系在一起。黑程序员的段子也...

ITCare
今天
14
0
Linux输入法fcitx的安装问题

Fcitx 总共要安装的包如下 fcitxfcitx-binfcitx-config-commonfcitx-config-gtk | fcitx-config-gtk2fcitx-datafcitx-frontend-allfcitx-frontend-gtk2fcitx-frontend-gtk3......

CHONGCHEN
今天
8
0
网络基础

前言: 最近整理一些以前的学习笔记(有部分缺失,会有些乱,日后再补)。 过去都是存储在本地,此次传到网络留待备用。 计算机网络的功能: 1.数据通信; 2.资源共享; 3.增加数据可靠性; 4....

迷失De挣扎
今天
7
0
spring boot升级到spring cloud

1、先升级spring boot 版本到2.1.3 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.1.3.RELEAS......

moon888
今天
12
0
从蓝鲸视角谈DevOps

DevOps源于Development和Operations的组合 常见的定义 DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变...

嘉为科技
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部