类android.app.SearchManager源码实例Demo

下面列出了怎么用android.app.SearchManager的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: android_9.0.0_r45   文件: SearchManagerService.java
private void updateSearchables() {
    final int changingUserId = getChangingUserId();
    synchronized (mSearchables) {
        // Update list of searchable activities
        for (int i = 0; i < mSearchables.size(); i++) {
            if (changingUserId == mSearchables.keyAt(i)) {
                mSearchables.valueAt(i).updateSearchableList();
                break;
            }
        }
    }
    // Inform all listeners that the list of searchables has been updated.
    Intent intent = new Intent(SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED);
    intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING
            | Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
    mContext.sendBroadcastAsUser(intent, new UserHandle(changingUserId));
}
 
源代码2 项目: moviedb-android   文件: SearchDB.java
public int getSuggestionSize() {
    SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
    queryBuilder.setProjectionMap(mAliasMap);

    queryBuilder.setTables(TABLE2_NAME);
    Cursor c = queryBuilder.query(mSearchDBOpenHelper.getReadableDatabase(),
            new String[]{"_ID",
                    SearchManager.SUGGEST_COLUMN_TEXT_1,
                    SearchManager.SUGGEST_COLUMN_TEXT_2,
                    SearchManager.SUGGEST_COLUMN_ICON_1,
                    SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID,
                    SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA},
            null, null, null, null, null, "10"
    );
    return c.getCount();
}
 
源代码3 项目: openlauncher   文件: HpSearchBar.java
@Override
public void onInternetSearch(String string) {
    Intent intent = new Intent();

    if (Tool.isIntentActionAvailable(_homeActivity.getApplicationContext(), Intent.ACTION_WEB_SEARCH) && !Setup.appSettings().getSearchBarForceBrowser()) {
        intent.setAction(Intent.ACTION_WEB_SEARCH);
        intent.putExtra(SearchManager.QUERY, string);
    } else {
        String baseUri = Setup.appSettings().getSearchBarBaseURI();
        String searchUri = baseUri.contains("{query}") ? baseUri.replace("{query}", string) : (baseUri + string);

        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(searchUri));
    }

    try {
        _homeActivity.startActivity(intent);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码4 项目: tv-samples   文件: VideoProvider.java
@Override
public String getType(@NonNull Uri uri) {
    switch (sUriMatcher.match(uri)) {
        // The application is querying the db for its own contents.
        case VIDEO_WITH_CATEGORY:
            return VideoContract.VideoEntry.CONTENT_TYPE;
        case VIDEO:
            return VideoContract.VideoEntry.CONTENT_TYPE;

        // The Android TV global search is querying our app for relevant content.
        case SEARCH_SUGGEST:
            return SearchManager.SUGGEST_MIME_TYPE;
        case REFRESH_SHORTCUT:
            return SearchManager.SHORTCUT_MIME_TYPE;

        // We aren't sure what is being asked of us.
        default:
            throw new UnsupportedOperationException("Unknown uri: " + uri);
    }
}
 
源代码5 项目: io2015-codelabs   文件: SearchActivity.java
private void setupSearchView(MenuItem searchItem) {

        mSearchView.setIconifiedByDefault(false);

        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        if (searchManager != null) {
            List<SearchableInfo> searchables = searchManager.getSearchablesInGlobalSearch();

            SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
            for (SearchableInfo inf : searchables) {
                if (inf.getSuggestAuthority() != null
                        && inf.getSuggestAuthority().startsWith("applications")) {
                    info = inf;
                }
            }
            mSearchView.setSearchableInfo(info);
        }

        mSearchView.setOnQueryTextListener(this);
        mSearchView.setFocusable(false);
        mSearchView.setFocusableInTouchMode(false);
    }
 
源代码6 项目: PowerFileExplorer   文件: CHMFrag.java
private void handleIntent(Intent intent) {
      if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
          String query = intent.getStringExtra(SearchManager.QUERY);
          webview.findAllAsync(query);
          try {
              for (Method m : WebView.class.getDeclaredMethods()) {
                  if (m.getName().equals("setFindIsUp")) {
                      m.setAccessible(true);
                      m.invoke((webview), true);
                      break;
                  }
              }
          } catch (Exception ignored) {
          }
      } else {
	currentPathTitle = intent.getDataString().substring("file://".length());//.getStringExtra("fileName");
	Log.d(TAG, "chmFilePath " + currentPathTitle);
	Utils.chm = null;
	listSite = new ArrayList<>();
	initView();
	initFile();
}
  }
 
源代码7 项目: PowerFileExplorer   文件: CHMActivity.java
private void handleIntent(Intent intent) {
      if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
          String query = intent.getStringExtra(SearchManager.QUERY);
          webview.findAllAsync(query);
          try {
              for (Method m : WebView.class.getDeclaredMethods()) {
                  if (m.getName().equals("setFindIsUp")) {
                      m.setAccessible(true);
                      m.invoke((webview), true);
                      break;
                  }
              }
          } catch (Exception ignored) {
          }
      } else {
	chmFilePath = URLDecoder.decode(intent.getData().getPath());//.getStringExtra("fileName");
	Log.d(TAG, "chmFilePath2 " + chmFilePath + ", intent " + intent);
	Utils.chm = null;
	listSite = new ArrayList<>();
	initView();
	initFile();
}
  }
 
源代码8 项目: Aria2App   文件: SearchActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.search, menu);
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
    MenuItem searchItem = menu.findItem(R.id.search_search);
    searchItem.setOnActionExpandListener(this);

    searchView = (SearchView) searchItem.getActionView();
    if (searchManager != null) {
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(false);
        searchView.setOnCloseListener(this);
        searchView.setOnQueryTextListener(this);
    }

    return true;
}
 
源代码9 项目: good-weather   文件: SearchActivity.java
private void setupSearchView() {
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
    SearchView searchView = (SearchView) findViewById(R.id.search_view);
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setIconified(false);
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            mSearchCityAdapter.getFilter().filter(query);
            return true;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            mSearchCityAdapter.getFilter().filter(newText);
            return true;
        }
    });
}
 
源代码10 项目: easyweather   文件: SearchResultActivity.java
@Override
public void initData() {
    ButterKnife.bind(this);

    Intent intent = getIntent();
    query = intent.getStringExtra(SearchManager.QUERY);
    fm = getSupportFragmentManager();
    SearchResultFragment fragment = (SearchResultFragment) fm.findFragmentById(R.id.fragment_container);
    if (fragment == null) {
        Bundle args = new Bundle();
        args.putString("query",query);
        fragment = SearchResultFragment.newInstance();
        fragment.setArguments(args);
        fm.beginTransaction().add(R.id.fragment_container,fragment).commit();
    }
    mPresenter = new SearchResultPresenter(fragment);
}
 
@Override
protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);

  // If the search Activity exists, and another search
  // is performed, set the launch Intent to the newly
  // received search Intent.
  setIntent(intent);

  if (Intent.ACTION_VIEW.equals(getIntent().getAction())) {
    // Update the selected search suggestion Id.
    setSelectedSearchSuggestion(getIntent().getData());
  }
  else {
    // Extract the search query and update the searchQuery Live Data.
    String query = getIntent().getStringExtra(SearchManager.QUERY);
    setSearchQuery(query);
  }
}
 
源代码12 项目: mobile-manager-tool   文件: TracksBrowser.java
public void onSearchWeb(){
	String query = "";
	if (Audio.Artists.CONTENT_TYPE.equals(mimeType)) {
		query = getArtist();
    } else if (Audio.Albums.CONTENT_TYPE.equals(mimeType)) {
    	query = getAlbum() + " " + getArtist();
    } else if (Playlists.CONTENT_TYPE.equals(mimeType)) {
    	query = bundle.getString(PLAYLIST_NAME);
    }
    else{
        Long id = bundle.getLong(BaseColumns._ID);
        query = MusicUtils.parseGenreName(this, MusicUtils.getGenreName(this, id, true));
    }
    final Intent googleSearch = new Intent(Intent.ACTION_WEB_SEARCH);
    googleSearch.putExtra(SearchManager.QUERY, query);
    startActivity(googleSearch);
}
 
@Override
public boolean onCreateOptionsMenu(Menu menu) {
  super.onCreateOptionsMenu(menu);

  // Inflate the options menu from XML
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.options_menu, menu);

  // Use the Search Manager to find the SearchableInfo related
  // to the Search Result Activity.
  SearchManager searchManager =
    (SearchManager) getSystemService(Context.SEARCH_SERVICE);

  SearchableInfo searchableInfo = searchManager.getSearchableInfo(
    new ComponentName(getApplicationContext(),
      EarthquakeSearchResultActivity.class));

  SearchView searchView =
    (SearchView)menu.findItem(R.id.search_view).getActionView();
  searchView.setSearchableInfo(searchableInfo);
  searchView.setIconifiedByDefault(false);
  return true;
}
 
@Override
public boolean onCreateOptionsMenu(Menu menu) {
  super.onCreateOptionsMenu(menu);

  // Inflate the options menu from XML
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.options_menu, menu);

  // Use the Search Manager to find the SearchableInfo related
  // to the Search Result Activity.
  SearchManager searchManager =
    (SearchManager) getSystemService(Context.SEARCH_SERVICE);

  SearchableInfo searchableInfo = searchManager.getSearchableInfo(
    new ComponentName(getApplicationContext(),
      EarthquakeSearchResultActivity.class));

  SearchView searchView =
    (SearchView)menu.findItem(R.id.search_view).getActionView();
  searchView.setSearchableInfo(searchableInfo);
  searchView.setIconifiedByDefault(false);
  return true;
}
 
源代码15 项目: Wrox-ProfessionalAndroid-4E   文件: MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the options menu from XML
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.menu_main, menu);

  // Use the Search Manager to find the SearchableInfo related
  // to this Activity.
  SearchManager searchManager =
    (SearchManager) getSystemService(Context.SEARCH_SERVICE);
  SearchableInfo searchableInfo =
    searchManager.getSearchableInfo(getComponentName());

  SearchView searchView =
    (SearchView) menu.findItem(R.id.search_view).getActionView();
  searchView.setSearchableInfo(searchableInfo);
  searchView.setIconifiedByDefault(false);
  return true;
}
 
源代码16 项目: search-samples   文件: SearchActivity.java
private void setupSearchView(MenuItem searchItem) {

        mSearchView.setIconifiedByDefault(false);

        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        if (searchManager != null) {
            List<SearchableInfo> searchables = searchManager.getSearchablesInGlobalSearch();

            SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
            for (SearchableInfo inf : searchables) {
                if (inf.getSuggestAuthority() != null
                        && inf.getSuggestAuthority().startsWith("applications")) {
                    info = inf;
                }
            }
            mSearchView.setSearchableInfo(info);
        }

        mSearchView.setOnQueryTextListener(this);
        mSearchView.setFocusable(false);
        mSearchView.setFocusableInTouchMode(false);
    }
 
源代码17 项目: delion   文件: ChromeActivity.java
protected IntentHandlerDelegate createIntentHandlerDelegate() {
    return new IntentHandlerDelegate() {
        @Override
        public void processWebSearchIntent(String query) {
            Intent searchIntent = new Intent(Intent.ACTION_WEB_SEARCH);
            searchIntent.putExtra(SearchManager.QUERY, query);
            startActivity(searchIntent);
        }

        @Override
        public void processUrlViewIntent(String url, String referer, String headers,
                TabOpenType tabOpenType, String externalAppId, int tabIdToBringToFront,
                boolean hasUserGesture, Intent intent) {
        }
    };
}
 
源代码18 项目: Woodmin   文件: MainActivity.java
private void processIntent(Intent intent) {
    super.onNewIntent(intent);
    String action = intent.getAction();
    if (action != null && (action.equals(Intent.ACTION_SEARCH) || action.equals(SearchIntents.ACTION_SEARCH))) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        if(query != null && query.length()>0){
            FragmentManager fragmentManager = getSupportFragmentManager();
            if(query.toLowerCase().contains(getString(R.string.product_voice_search).toLowerCase())){
                fragmentManager.beginTransaction()
                        .replace(R.id.container, ProductsFragment.newInstance(2))
                        .commit();
            } else if(query.toLowerCase().contains(getString(R.string.customer_voice_search).toLowerCase())){
                fragmentManager.beginTransaction()
                        .replace(R.id.container, CustomersFragment.newInstance(1))
                        .commit();
            } else {
                fragmentManager.beginTransaction()
                        .replace(R.id.container, OrdersFragment.newInstance(1))
                        .commit();
            }
        }
    }
}
 
@Override
protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);

  // If the search Activity exists, and another search
  // is performed, set the launch Intent to the newly
  // received search Intent.
  setIntent(intent);

  if (Intent.ACTION_VIEW.equals(getIntent().getAction())) {
    // Update the selected search suggestion Id.
    setSelectedSearchSuggestion(getIntent().getData());
  }
  else {
    // Extract the search query and update the searchQuery Live Data.
    String query = getIntent().getStringExtra(SearchManager.QUERY);
    setSearchQuery(query);
  }
}
 
@Override
protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);

  // If the search Activity exists, and another search
  // is performed, set the launch Intent to the newly
  // received search Intent.
  setIntent(intent);

  if (Intent.ACTION_VIEW.equals(getIntent().getAction())) {
    // Update the selected search suggestion Id.
    setSelectedSearchSuggestion(getIntent().getData());
  }
  else {
    // Extract the search query and update the searchQuery Live Data.
    String query = getIntent().getStringExtra(SearchManager.QUERY);
    setSearchQuery(query);
  }
}
 
源代码21 项目: PretendYoureXyzzyAndroid   文件: GamesFragment.java
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.games_fragment, menu);

    if (getContext() == null) return;
    SearchManager searchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE);
    MenuItem item = menu.findItem(R.id.gamesFragment_search);
    item.setOnActionExpandListener(this);

    if (searchManager != null && getActivity() != null) {
        searchView = (SearchView) item.getActionView();
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
        searchView.setIconifiedByDefault(false);
        searchView.setOnCloseListener(this);
        searchView.setOnQueryTextListener(this);
    }
}
 
源代码22 项目: PretendYoureXyzzyAndroid   文件: NamesFragment.java
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.names_fragment, menu);

    if (getContext() == null) return;
    SearchManager searchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE);
    MenuItem item = menu.findItem(R.id.namesFragment_search);
    item.setOnActionExpandListener(this);

    if (searchManager != null && getActivity() != null) {
        searchView = (SearchView) item.getActionView();
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
        searchView.setIconifiedByDefault(false);
        searchView.setOnCloseListener(this);
        searchView.setOnQueryTextListener(this);
    }
}
 
源代码23 项目: ActivityDiary   文件: MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_menu, menu);

    // Get the SearchView and set the searchable configuration
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    searchMenuItem = menu.findItem(R.id.action_filter);
    searchView = (SearchView) searchMenuItem.getActionView();
    // Assumes current activity is the searchable activity
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

    searchView.setOnCloseListener(this);
    searchView.setOnQueryTextListener(this);
    // setOnSuggestionListener -> for selection of a suggestion
    // setSuggestionsAdapter
    searchView.setOnSearchClickListener(v -> setSearchMode(true));
    return true;
}
 
源代码24 项目: android   文件: MainActivity.java
@Override
protected void onNewIntent(Intent intent) {

    if (intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEARCH)) {
        if (mAdapter != null) {

            String query = intent.getStringExtra(SearchManager.QUERY);

            Fragment fragment = mAdapter.getItem(2);
            if (fragment instanceof MoviesFragment) {
                ((MoviesFragment) fragment).restartWithSearchQuery(query);
            }
            fragment = mAdapter.getItem(3);
            if (fragment instanceof TVShowFragment) {
                ((TVShowFragment) fragment).restartWithSearchQuery(query);
            }

            if (mSearchView != null) {
                mSearchView.setQuery(query, false);
                mSearchView.clearFocus();
            }
        }

    } else {
        super.onNewIntent(intent);
    }
}
 
源代码25 项目: android_9.0.0_r45   文件: Searchables.java
/**
 * Checks whether the global search provider with a given
 * component name is installed on the system or not. This deals with
 * cases such as the removal of an installed provider.
 */
private boolean isInstalled(ComponentName globalSearch) {
    Intent intent = new Intent(SearchManager.INTENT_ACTION_GLOBAL_SEARCH);
    intent.setComponent(globalSearch);

    List<ResolveInfo> activities = queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    if (activities != null && !activities.isEmpty()) {
        return true;
    }

    return false;
}
 
源代码26 项目: aptoide-client   文件: SuggestionProvider.java
@Override
public Cursor query(final Uri uri, String[] projection, String selection, final String[] selectionArgs, String sortOrder) {
    Logger.d("TAG", "query: " + selectionArgs[0]);

    Cursor c = super.query(uri, projection, selection, selectionArgs, sortOrder);

    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ECLAIR_MR1 && c != null) {
        BlockingQueue<MatrixCursor> arrayBlockingQueue = new ArrayBlockingQueue<MatrixCursor>(1);
        WebSocketSingleton.getInstance().setNotificationUri(uri).setContext(getContext()).setBlockingQueue(arrayBlockingQueue);

        MatrixCursor matrix_cursor = null;
        WebSocketSingleton.getInstance().send(selectionArgs[0]);
        try {
            matrix_cursor = arrayBlockingQueue.poll(5, TimeUnit.SECONDS);

            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                matrix_cursor.newRow().add(c.getString(c.getColumnIndex(android.app.SearchManager.SUGGEST_COLUMN_ICON_1))).add(c.getString(c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1))).add(c.getString(c.getColumnIndex(SearchManager.SUGGEST_COLUMN_QUERY))).add("1");
            }

        } catch (InterruptedException e) {
            Logger.printException(e);
        } finally {
            c.close();
        }
        return matrix_cursor;
    } else {
        return null;
    }

}
 
源代码27 项目: codeexamples-android   文件: SearchInvoke.java
/** 
 * Called when your activity's options menu needs to be updated. 
 */
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    MenuItem item;
    
        // first, get rid of our menus (if any)
    menu.removeItem(0);
    menu.removeItem(1);
    
        // next, add back item(s) based on current menu mode
    switch (mMenuMode.getSelectedItemPosition())
    {
    case MENUMODE_SEARCH_KEY:
        item = menu.add( 0, 0, 0, "(Search Key)");
        break;
        
    case MENUMODE_MENU_ITEM:
        item = menu.add( 0, 0, 0, "Search");
        item.setAlphabeticShortcut(SearchManager.MENU_KEY);
        break;
        
    case MENUMODE_TYPE_TO_SEARCH:
        item = menu.add( 0, 0, 0, "(Type-To-Search)");
        break;
        
    case MENUMODE_DISABLED:
        item = menu.add( 0, 0, 0, "(Disabled)");
        break;
    }
    
    item = menu.add(0, 1, 0, "Clear History");
    return true;
}
 
源代码28 项目: ministocks   文件: SymbolSearchableActivity.java
@Override
public void onNewIntent(Intent intent) {
    if (Intent.ACTION_VIEW.equals(intent.getAction())) {
        // from click on search results
        Intent resultValue = new Intent();
        resultValue.putExtra("symbol", intent.getDataString());
        setResult(RESULT_OK, resultValue);
        finish();
    } else if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        ListAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, new String[]{String.format("Symbol \'%s\' is not found. Press to add it anyway.", intent.getStringExtra(SearchManager.QUERY))});
        setListAdapter(adapter);
    } else if (Intent.ACTION_EDIT.equals(intent.getAction())) {
        startSearch(SearchManager.QUERY, false, null, false);
    }
}
 
源代码29 项目: QuickLyric   文件: SearchActivity.java
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    String action = intent.getAction();
    if (action != null)
        switch (action) {
            case "android.intent.action.SEARCH":
                this.searchQuery = intent.getStringExtra(SearchManager.QUERY);
                this.refresh();
                break;
        }
}
 
源代码30 项目: Movie-Check   文件: SearchActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.search, menu);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    android.support.v7.widget.SearchView searchView =
            (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search));
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    if (query == null) {
        menu.findItem(R.id.search).expandActionView();
    }
    return super.onCreateOptionsMenu(menu);
}
 
 类所在包
 同包方法