2011-08-11 121 views
2

我正在開發一個應用程序,我需要禁用快速搜索框,因爲它以某種方式取消了我的對話框,它要求信息保留不應該有的人使用我的應用程序[它正在開發,並且在市場上 - 它使得更新更容易讓人們更新]。所有類型的解僱對話的聽衆都不會被觸發 - 我不知道爲什麼。我到處尋找,並且我無法獲得如何禁用此功能的結果。 (2.1及以上)。 How to disable QSB..?是一個好開始,但它不起作用。我不知道爲什麼谷歌堅持我使用這個...我完全沒有必要在我的應用程序。 我該如何解決這個問題......還是我必須嘗試另一種DRM?在Android中禁用搜索按鈕(快速搜索框)

+0

您是否嘗試攔截搜索按鈕?爲什麼你想鎖定你的應用程序的人?而'它以什麼方式駁回我的對話框'? Android中的對話框工作正常。 – marsbear

+0

我的應用程序在市場上銷售,但尚未完成 - 我只在市場上銷售它,因爲在同一時間更新所有人更容易。我讓用戶選擇一個日期,如果日期不匹配,應用程序會自行終止。但是,如果他們按搜索,QSB就會出現,並以某種方式消除對話,而不會觸發任何對話監聽程序在關閉時偵聽。 – Mgamerz

回答

5

您可以通過實現這一點,並返回false阻止你的活動或對話的搜索:

public boolean onSearchRequested() { 
    return false; 
} 

UPDATE:
代碼工作的對話,也

+0

我試過了,但可惜它不起作用......至少不是2.1。我沒有機會測試2.3。 – Mgamerz

+0

它不起作用?你有例外嗎?你用什麼對話框?您是否在打開對話框的活動中實現了該功能? – marsbear

+0

我確實實現了......現在,對話框就消失了。 (看起來eclair的處理方式稍有不同,但在薑餅上它可以工作,但盒子仍然會消失) – Mgamerz

0
public boolean onKeyDown(int keyCode, KeyEvent event) { 

        if(keyCode==KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) 
        { 
         return true; 
        } 
        else 
        { 

        return false; 
        } 
       } 

返回true手段我們正在處理搜索事件。