2011-01-26 35 views
15

Tôi đã tự hỏi liệu có cách nào dễ dàng hơn (hay bất kỳ cách nào) để bắt đầu Trình duyệt bằng truy vấn tìm kiếm của Google. Ví dụ, người dùng có thể chọn một từ hoặc cụm từ nhất định và nhấp vào nút và hoạt động sẽ bắt đầu trình duyệt bằng truy vấn tìm kiếm của Google.Bắt đầu truy vấn tìm kiếm của Google từ hoạt động - Android

Cảm ơn bạn.

Trả lời

23

Bạn có thể làm được điều này khá dễ dàng với một vài dòng mã (giả sử bạn muốn tìm kiếm Google cho 'cá'):

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); 

Ngược lại, nếu bạn thà khởi động Hoạt động của riêng bạn để xử lý duyệt web, bạn sẽ có thể làm như vậy với WebView: http://developer.android.com/reference/android/webkit/WebView.html

Tôi nghĩ câu trả lời tốt hơn ở đây là @ zen_of_kermit's. Nó sẽ là tốt đẹp mặc dù, nếu Android cho phép một người sử dụng để cung cấp các công cụ tìm kiếm có thêm một mặc dù cho ACTION_WEB_SEARCH, thay vì chỉ sử dụng Google.

+0

Cảm ơn bạn Nicholas. Điều đó thật dễ. – madu

+0

Hoạt động nào sẽ bắt đầu khởi chạy Google Tìm kiếm (ứng dụng, không phải trình duyệt)? – trusktr

+0

Tốt hơn câu trả lời được đưa ra bởi @zen_of_kermit, bởi vì ý định được viết bởi anh ta tập trung vào các Tìm kiếm của Google, nhưng sử dụng Kiểu Intent đúng. –

46

Lớp Ý ​​định định nghĩa một hành động đặc biệt cho các tìm kiếm web:

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

Dưới đây là một ví dụ về cách sử dụng nó:

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

Không tìm thấy hoạt động nào để xử lý ý định! –

4

các # đã cho tôi gặp rắc rối:

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

Gần đây tôi đã thử điều này. Điều này dường như hoạt động tốt. Nếu có bất kỳ sửa đổi nào được thực hiện, hãy cho tôi biết khi tôi mới phát triển Android.

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

theo quan điểm nhấp chuột,

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

Hoạt động như một sự quyến rũ! –

Các vấn đề liên quan