2014-08-27 76 views
1

我打電話這個功能:禁用上下文語音命令在活動

getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); 

它應該很容易,但我怎麼也找不到隱藏/禁用此功能,一旦它在我的活動推出。我希望啓用/禁用「Ok Glass」功能的功能,然後在我的菜單中使用它。

這玻璃器皿沒有它完美,可以顯示或從菜單底部隱藏「好吧玻璃」:Google Glass Chess

回答

2

我覺得onPreparePanel是你在找什麼。在每次顯示面板窗口之前調用它。對於GDK,這是在創建活動之後以及用戶點擊觸摸板並出現菜單時的權利。

返回時要禁用「確定玻璃」假:

@Override 
public boolean onPreparePanel(int featureId, View view, Menu menu) { 
    Log.v(TAG, "CityRideActivity#onPreparePanel"); 
    if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) {    
     return false; // <-- disable "Ok Glass" 
    } 
    return super.onPreparePanel(featureId, view, menu); 
} 

我猜谷歌眼鏡象棋禁用語音菜單當用戶點擊觸摸板,但開發者使用自定義視圖他的菜單。

GDK doc有一個簡短的解釋,但非常有用:

(可選)覆蓋onPreparePanel(),檢查WindowUtils.FEATURE_VOICE_COMMANDS是否被啓用。如果啓用,您可以在其中執行其他邏輯來設置菜單系統,例如根據某些條件添加和刪除某些菜單項。您還可以根據某些條件切換上下文語音菜單(返回true)和關閉(返回false)。

+0

謝謝你,這似乎是一個有效的解決方案,我會測試,今天上午,並給你一個反饋 – Pull 2014-08-28 08:24:42

+1

它完美的作品,非常感謝你 – Pull 2014-08-28 09:07:11