jasmine1

浏览器地址栏输入空格搜索时,如何实现根据当前设定的的搜索引擎来调用

0
阅读(1234)

[DESCRIPTION]

目前,浏览器地址栏输入空格默认调用谷歌搜索, 而客户需要实现根据当前设定的的搜索引擎来调用。

[SOLUTION]

在地址栏输入关键字进行搜索, google默认设计实际上会先按"http://www.google.com/m?q=%s"格式处理,其中%s即

为关键字,那么在输入空格之类的非法关键字搜索时,就不会再发ACTION_VIEW上来用用户设定的searchEngine来搜显

示了,所以就会让用户产生设定的搜索引擎失效的疑惑。

对应代码在:IntentHandler.Java (packages\apps\browser\src\com\android\browser)的getUrlDataFROMIntent方法里,

if()..else(){

...

url = UrlUtils.fixUrl(url);

url = UrlUtils.smartUrlFiLTEr(url);//这里会调到UrlUtils.java里,会看到默认用到QUICKSEARCH_G,

...

}

所以,如要需要修改的话,建议在UrlUtils.java里smartUrlFilter方法里

if (canBeSearch) {

return URLUtil.composeSearchUrl(inUrl,

QUICKSEARCH_G, QUERY_PLACE_HOLDER);

}

对于默认的QUICKSEARCH_G,改成动态获得用户设定的searchEngine主页网址来处理即可。

来源:一牛网论坛