android-多个语音触发器可在Glass上启动相同的活动并区分使用了哪个

android-多个语音触发器可在Glass上启动相同的活动并区分使用了哪个,第1张

概述我想使用两个不同的语音触发器来打开同一活动,然后在此活动中,根据所使用的触发器来决定要执行的 *** 作.不添加额外提示就可以吗?根据文档,仅当使用提示时,您才可以访问RecognizerIntent.EXTRA_RESULTS.所以我的问题是,是否可以使用多个语音触发器触发同一活动,并且有什么办法可以在

我想使用两个不同的语音触发器来打开同一活动,然后在此活动中,根据所使用的触发器来决定要执行的 *** 作.

不添加额外提示就可以吗?根据文档,仅当使用提示时,您才可以访问RecognizerIntent.EXTRA_RESulTS.

所以我的问题是,是否可以使用多个语音触发器触发同一活动,并且有什么办法可以在代码中知道使用了哪个触发器?

解决方法:

完成@Ferdau的 *** 作后,我发现了使用活动别名和元数据的更好方法.

将包含第一个语音触发器的活动添加到您的AndroIDManifest.xml中:

<activity androID:name="com.package.MainActivity">    <intent-filter>        <action androID:name="com.Google.androID.glass.action.VOICE_TRIGGER" />    </intent-filter>    <Meta-data        androID:name="com.Google.androID.glass.VoiceTrigger"        androID:resource="@xml/glass_first_trigger" /></activity>@H_502_17@

然后,在其中添加一个包含第二个触发器的活动别名

<activity-alias    androID:name=".StartMainActivityWithAParameter"    androID:targetActivity="com.package.MainActivity">    <intent-filter>        <action androID:name="com.Google.androID.glass.action.VOICE_TRIGGER" />    </intent-filter>    <Meta-data       androID:name="com.Google.androID.glass.VoiceTrigger"       androID:resource="@xml/glass_second_trigger" /></activity-alias>@H_502_17@

然后,在代码上,您可以读取元数据值并决定要执行的 *** 作:

ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentname(),PackageManager.GET_ACTIVITIES|PackageManager.GET_Meta_DATA);int secondVoiceTrigger = activityInfo.MetaData.getInt("com.Google.androID.glass.VoiceTrigger");if(secondVoiceTrigger == R.xml.glass_second_trigger) {      //Todo do different stuff}@H_502_17@          总结       

以上是内存溢出为你收集整理的android-多个语音触发器可在Glass上启动相同的活动并区分使用了哪个全部内容,希望文章能够帮你解决android-多个语音触发器可在Glass上启动相同的活动并区分使用了哪个所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1088325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存