手机上使用google 搜索引擎
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.antking.search" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".SearchActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <--!这里加上--> <intent-filter> <action android:name="android.intent.action.WEB_SEARCH"></action> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/> </activity> </application> <--!这里加上--> <meta-date android:name="android.app.default_searchable" android:value=".SearchActivity"/></manifest> package com.android.antking.search;
import android.app.Activity;import android.app.SearchManager;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;public class SearchActivity extends Activity {//定义私有整形变量private final int MENU =1;//声明Intent对象private Intent intent;//定义键盘模式为按键搜索模式private final int KeyMode =Activity.DEFAULT_KEYS_SEARCH_LOCAL;//使用Android自定义图标private final int icon = android.R.drawable.ic_menu_search; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try{ setContentView(R.layout.main); //设置键盘模式,按键盘弹出搜索狂 setDefaultKeyMode(KeyMode); //获取intent intent = getIntent(); searchWeb(intent); }catch(Exception e){ Toast.makeText(SearchActivity.this, "一场错误"+e.toString(), Toast.LENGTH_SHORT).show(); } } /*searchWeb 根据意图行为为键盘算是否进行Web搜索*/ private void searchWeb(Intent intent){ //获取意图的行为 String action = intent.getAction(); //若意图的行为是Web搜索,则搜索 if(Intent.ACTION_WEB_SEARCH.equals(action)){ searchHandle(intent); } } protected void onNewIntent(Intent intent){ setIntent(intent); searchWeb(intent); } /*searchHandle()获取SearchManager的查询*/ private void searchHandle(Intent intent){ final String query = intent.getStringExtra(SearchManager.QUERY); Toast.makeText(this, query, Toast.LENGTH_SHORT).show(); } public boolean onCreateOptionsMenu(Menu menu){ boolean result = super.onCreateOptionsMenu(menu); //添加菜单选项 MenuItem menuItem = menu.add(0,MENU,0,"nihao"); //设置图标 menuItem.setIcon(icon); return result; } public boolean onMenuItemSelected(int featureId,MenuItem item){switch(item.getItemId()){case MENU:onSearchRequested();return true;default:return super.onMenuItemSelected(featureId, item);} }}
页:
[1]