簡體   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