繁体   English   中英

从谷歌搜索或语音输入开始活动

[英]Start activity from google search or voice input

任务:在我的应用程序中执行某些操作,通过android命令通过说出命令。 它与谷歌搜索发送命令相同(通过说或写命令)。

如何在http://developer.android.com/training/wearables/apps/voice.html “声明应用提供的语音操作”中进行描述

我创建了两个活动:

    <activity
        android:name=".MainActivity"
        android:label="speech test main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".SomeAction"
        android:label="speech test action" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

这两项活动都可以通过命令“start [android:label for activity]”从谷歌搜索启动。 然后我可以在onResume()上做相应的动作。

但是在系统启动器图标是为每个活动创建的! 我尝试将类别更改为DEFAULT,图标消失,但无法从Google搜索启动活动。 似乎是谷歌搜索只能启动与LAUNCHER类别的活动。

因此,需要从谷歌搜索启动活动(或只是发送意图,如果可能)。 问题 - 发射器上的额外图标。

你不能两次使用<action android:name="android.intent.action.LAUNCHER" />因为这会产生2个启动图标。 另外,从两个活动中删除<category android:name="android.intent.category.DEFAULT" /> 相反,只关注只有一个主要的启动器活动,其中调用了getIntent() ,然后在必要时将意图附带的任何intent / extras / flags /其他数据重新发送到第二个活动中。 或者,在主启动器活动中处理意图,然后在第二个活动中调用另一个方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM