Start Google search query from activity - Android

给你一囗甜甜゛ 提交于 2019-12-29 03:55:10

问题


I was wondering if there is an easier way (or any way) to start a Browser with a Google search query. For example user can select a certain word or phrase and click a button and the activity will start the browser with the Google search query.

Thank you.


回答1:


You can do this quite easily with a few lines of code (assuming you want to search Google for 'fish'):

String escapedQuery = URLEncoder.encode(query, "UTF-8");
Uri uri = Uri.parse("http://www.google.com/#q=" + escapedQuery);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

Otherwise, if you would rather start up your own Activity to handle the browsing, you should be able to do so with a WebView: http://developer.android.com/reference/android/webkit/WebView.html

I think the better answer here is @zen_of_kermit's. It would be nice though, if Android allowed a user to provide the Search engine has an extra though for the ACTION_WEB_SEARCH, rather than just using Google.




回答2:


The Intent class defines an action specifically for web searches:

http://developer.android.com/reference/android/content/Intent.html#ACTION_WEB_SEARCH

Here's an example of how to use it:

Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, query); // query contains search string
startActivity(intent);



回答3:


the # gave me trouble:

Uri uri = Uri.parse("https://www.google.com/search?q="+query);
Intent gSearchIntent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(gSearchIntent);



回答4:


I recently tried this. This appears to work fine. If any modifications to be done let me know as I am new to android development.

mEdit   = (EditText)findViewById(R.id.editText);

in your click view,

String q = mEdit.getText().toString();
                        Intent intent = new Intent(Intent.ACTION_WEB_SEARCH );
                        intent.putExtra(SearchManager.QUERY, q);
                        startActivity(intent);



回答5:


                String Search= null;
                try {
                    Search= URLEncoder.encode(s, "UTF-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
                Uri uri = Uri.parse("http://www.google.com/#q=" + Search);
                Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                startActivity(intent);
            }
        });


来源:https://stackoverflow.com/questions/4800575/start-google-search-query-from-activity-android

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!