2011-08-11 65 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手段我们正在处理搜索事件。