java.lang.Object | |
↳ | android.app.SearchManager |
This class provides access to the system search services.
In practice, you won't interact with this class directly, as search
services are provided through methods in Activity
and the ACTION_SEARCH
Intent
.
If you do require direct access to the SearchManager, do not instantiate
this class directly. Instead, retrieve it through
context.getSystemService(Context.SEARCH_SERVICE)
.
For more information about using the search dialog and adding search suggestions in your application, read the Search developer guide.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SearchManager.OnCancelListener | See setOnCancelListener(SearchManager.OnCancelListener) for configuring your activity to monitor
search UI state. |
||||||||||
SearchManager.OnDismissListener | See setOnDismissListener(SearchManager.OnDismissListener) for configuring your activity to monitor
search UI state. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_KEY | Intent extra data key: Use this key with Intent.ACTION_SEARCH and
content.Intent.getIntExtra()
to obtain the keycode that the user used to trigger this query. |
|||||||||
String | ACTION_MSG | Intent extra data key: Use this key with Intent.ACTION_SEARCH and
content.Intent.getStringExtra()
to obtain the action message that was defined for a particular search action key and/or
suggestion. |
|||||||||
String | APP_DATA | Intent extra data key: Use this key with Intent.ACTION_SEARCH and
content.Intent.getBundleExtra()
to obtain any additional app-specific data that was inserted by the
activity that launched the search. |
|||||||||
String | CURSOR_EXTRA_KEY_IN_PROGRESS | Boolean extra data key for a suggestion provider to return in getExtras() to
indicate that the search is not complete yet. |
|||||||||
String | EXTRA_DATA_KEY | Intent extra data key: This key will be used for the extra populated by the
SUGGEST_COLUMN_INTENT_EXTRA_DATA column. |
|||||||||
String | EXTRA_NEW_SEARCH | Boolean extra data key for ACTION_WEB_SEARCH intents. |
|||||||||
String | EXTRA_SELECT_QUERY | Boolean extra data key for INTENT_ACTION_GLOBAL_SEARCH intents. |
|||||||||
String | EXTRA_WEB_SEARCH_PENDINGINTENT | Extra data key for ACTION_WEB_SEARCH . |
|||||||||
int | FLAG_QUERY_REFINEMENT | Flag to specify that the entry can be used for query refinement, i.e., the query text in the search field can be replaced with the text in this entry, when a query refinement icon is clicked. | |||||||||
String | INTENT_ACTION_GLOBAL_SEARCH | Intent action for starting the global search activity. | |||||||||
String | INTENT_ACTION_SEARCHABLES_CHANGED | Intent action broadcasted to inform that the searchables list or default have changed. | |||||||||
String | INTENT_ACTION_SEARCH_SETTINGS | Intent action for starting the global search settings activity. | |||||||||
String | INTENT_ACTION_SEARCH_SETTINGS_CHANGED | Intent action broadcasted to inform that the search settings have changed in some way. | |||||||||
String | INTENT_ACTION_WEB_SEARCH_SETTINGS | Intent action for starting a web search provider's settings activity. | |||||||||
String | INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED | Intent action to be broadcast to inform that the global search provider has changed. | |||||||||
char | MENU_KEY | This is a shortcut definition for the default menu key to use for invoking search. | |||||||||
int | MENU_KEYCODE | This is a shortcut definition for the default menu key to use for invoking search. | |||||||||
String | QUERY | Intent extra data key: Use this key with
content.Intent.getStringExtra()
to obtain the query string from Intent.ACTION_SEARCH. |
|||||||||
String | SHORTCUT_MIME_TYPE | MIME type for shortcut validation. | |||||||||
String | SUGGEST_COLUMN_FLAGS | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_FORMAT | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_ICON_1 | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_ICON_2 | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_INTENT_ACTION | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_INTENT_DATA | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_INTENT_DATA_ID | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_INTENT_EXTRA_DATA | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_LAST_ACCESS_HINT | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_QUERY | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_SHORTCUT_ID | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_TEXT_1 | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_TEXT_2 | Column name for suggestions cursor. | |||||||||
String | SUGGEST_COLUMN_TEXT_2_URL | Column name for suggestions cursor. | |||||||||
String | SUGGEST_MIME_TYPE | MIME type for suggestions data. | |||||||||
String | SUGGEST_NEVER_MAKE_SHORTCUT | Column value for suggestion column SUGGEST_COLUMN_SHORTCUT_ID when a suggestion
should not be stored as a shortcut in global search. |
|||||||||
String | SUGGEST_PARAMETER_LIMIT | Query parameter added to suggestion queries to limit the number of suggestions returned. | |||||||||
String | SUGGEST_URI_PATH_QUERY | Uri path for queried suggestions data. | |||||||||
String | SUGGEST_URI_PATH_SHORTCUT | Uri path for shortcut validation. | |||||||||
String | USER_QUERY | Intent extra data key: Use this key with
content.Intent.getStringExtra()
to obtain the query string typed in by the user. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Gets the name of the global search activity.
| |||||||||||
Gets information about a searchable activity.
| |||||||||||
Returns a list of the searchable activities that can be included in global search.
| |||||||||||
This method was deprecated
in API level 4.
This method is an obsolete internal implementation detail. Do not use.
| |||||||||||
This method was deprecated
in API level 4.
This method is an obsolete internal implementation detail. Do not use.
| |||||||||||
Set or clear the callback that will be invoked whenever the search UI is canceled.
| |||||||||||
Set or clear the callback that will be invoked whenever the search UI is dismissed.
| |||||||||||
Launch search UI.
| |||||||||||
Terminate search UI.
| |||||||||||
Similar to
startSearch(String, boolean, ComponentName, Bundle, boolean) but actually fires off the search query after invoking
the search dialog. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
android.content.DialogInterface.OnCancelListener
| |||||||||||
From interface
android.content.DialogInterface.OnDismissListener
|
Intent extra data key: Use this key with Intent.ACTION_SEARCH and
content.Intent.getIntExtra()
to obtain the keycode that the user used to trigger this query. It will be zero if the
user simply pressed the "GO" button on the search UI. This is primarily used in conjunction
with the keycode attribute in the actionkey element of your searchable.xml configuration
file.
Intent extra data key: Use this key with Intent.ACTION_SEARCH and
content.Intent.getStringExtra()
to obtain the action message that was defined for a particular search action key and/or
suggestion. It will be null if the search was launched by typing "enter", touched the the
"GO" button, or other means not involving any action key.
Intent extra data key: Use this key with Intent.ACTION_SEARCH and
content.Intent.getBundleExtra()
to obtain any additional app-specific data that was inserted by the
activity that launched the search.
Boolean extra data key for a suggestion provider to return in getExtras()
to
indicate that the search is not complete yet. This can be used by the search UI
to indicate that a search is in progress. The suggestion provider can return partial results
this way and send a change notification on the cursor when more results are available.
Intent extra data key: This key will be used for the extra populated by the
SUGGEST_COLUMN_INTENT_EXTRA_DATA
column.
Boolean extra data key for ACTION_WEB_SEARCH
intents. If true
,
this search should open a new browser window, rather than using an existing one.
Boolean extra data key for INTENT_ACTION_GLOBAL_SEARCH
intents. If true
,
the initial query should be selected when the global search activity is started, so
that the user can easily replace it with another query.
Extra data key for ACTION_WEB_SEARCH
. If set, the value must be a
PendingIntent
. The search activity handling the ACTION_WEB_SEARCH
intent will fill in and launch the pending intent. The data URI will be filled in with an
http or https URI, and EXTRA_HEADERS
may be filled in.
Flag to specify that the entry can be used for query refinement, i.e., the query text in the search field can be replaced with the text in this entry, when a query refinement icon is clicked. The suggestion list should show such a clickable icon beside the entry.
Use this flag as a bit-field for SUGGEST_COLUMN_FLAGS
.
Intent action for starting the global search activity.
The global search provider should handle this intent.
Supported extra data keys: QUERY
,
EXTRA_SELECT_QUERY
,
APP_DATA
.
Intent action broadcasted to inform that the searchables list or default have changed. Components should handle this intent if they cache any searchable data and wish to stay up to date on changes.
Intent action for starting the global search settings activity. The global search provider should handle this intent.
Intent action broadcasted to inform that the search settings have changed in some way. Either searchables have been enabled or disabled, or a different web search provider has been chosen.
Intent action for starting a web search provider's settings activity. Web search providers should handle this intent if they have provider-specific settings to implement.
Intent action to be broadcast to inform that the global search provider has changed.
This is a shortcut definition for the default menu key to use for invoking search. See Menu.Item.setAlphabeticShortcut() for more information.
This is a shortcut definition for the default menu key to use for invoking search. See Menu.Item.setAlphabeticShortcut() for more information.
Intent extra data key: Use this key with
content.Intent.getStringExtra()
to obtain the query string from Intent.ACTION_SEARCH.
MIME type for shortcut validation. You'll use this in your suggestions content provider in the getType() function.
Column name for suggestions cursor. Optional. This column is used to specify additional flags per item. Multiple flags can be specified.
Must be one of FLAG_QUERY_REFINEMENT
or 0 to indicate no flags.
Column name for suggestions cursor. Unused - can be null or column can be omitted.
Column name for suggestions cursor. Optional. If your cursor includes this column, then all suggestions will be provided in a format that includes space for two small icons, one at the left and one at the right of each suggestion. The data in the column must be a resource ID of a drawable, or a URI in one of the following formats:
SCHEME_CONTENT
)SCHEME_ANDROID_RESOURCE
)SCHEME_FILE
)openAssetFileDescriptor(Uri, String)
for more information on these schemes.
Column name for suggestions cursor. Optional. If your cursor includes this column, then all suggestions will be provided in a format that includes space for two small icons, one at the left and one at the right of each suggestion. The data in the column must be a resource ID of a drawable, or a URI in one of the following formats:
SCHEME_CONTENT
)SCHEME_ANDROID_RESOURCE
)SCHEME_FILE
)openAssetFileDescriptor(Uri, String)
for more information on these schemes.
Column name for suggestions cursor. Optional. If this column exists and this element exists at the given row, this is the action that will be used when forming the suggestion's intent. If the element is not provided, the action will be taken from the android:searchSuggestIntentAction field in your XML metadata. At least one of these must be present for the suggestion to generate an intent. Note: If your action is the same for all suggestions, it is more efficient to specify it using XML metadata and omit it from the cursor.
Column name for suggestions cursor. Optional. If this column exists and this element exists at the given row, this is the data that will be used when forming the suggestion's intent. If the element is not provided, the data will be taken from the android:searchSuggestIntentData field in your XML metadata. If neither source is provided, the Intent's data field will be null. Note: If your data is the same for all suggestions, or can be described using a constant part and a specific ID, it is more efficient to specify it using XML metadata and omit it from the cursor.
Column name for suggestions cursor. Optional. If this column exists and this element exists at the given row, then "/" and this value will be appended to the data field in the Intent. This should only be used if the data field has already been set to an appropriate base string.
Column name for suggestions cursor. Optional. If this column exists and
this element exists at the given row, this is the data that will be used when
forming the suggestion's intent. If not provided, the Intent's extra data field will be null.
This column allows suggestions to provide additional arbitrary data which will be included as
an extra under the key EXTRA_DATA_KEY
.
Column name for suggestions cursor. Optional. This column may be
used to specify the time in System.currentTImeMillis()
(wall time in UTC) when an item was last
accessed within the results-providing application. If set, this may be
used to show more-recently-used items first.
Column name for suggestions cursor. Required if action is
ACTION_SEARCH
, optional otherwise. If this
column exists and this element exists at the given row, this is the data that will be
used when forming the suggestion's query.
Column name for suggestions cursor. Optional. This column is used to indicate whether
a search suggestion should be stored as a shortcut, and whether it should be refreshed. If
missing, the result will be stored as a shortcut and never validated. If set to
SUGGEST_NEVER_MAKE_SHORTCUT
, the result will not be stored as a shortcut.
Otherwise, the shortcut id will be used to check back for an up to date suggestion using
SUGGEST_URI_PATH_SHORTCUT
.
Column name for suggestions cursor. Optional. This column is used to specify that a spinner should be shown in lieu of an icon2 while the shortcut of this suggestion is being refreshed.
Column name for suggestions cursor. Required. This is the primary line of text that will be presented to the user as the suggestion.
Column name for suggestions cursor. Optional. If your cursor includes this column, then all suggestions will be provided in a two-line format. The second line of text is in a much smaller appearance.
Column name for suggestions cursor. Optional. This is a URL that will be shown
as the second line of text instead of SUGGEST_COLUMN_TEXT_2
. This is a separate
column so that the search UI knows to display the text as a URL, e.g. by using a different
color. If this column is absent, or has the value null
,
SUGGEST_COLUMN_TEXT_2
will be used instead.
MIME type for suggestions data. You'll use this in your suggestions content provider in the getType() function.
Column value for suggestion column SUGGEST_COLUMN_SHORTCUT_ID
when a suggestion
should not be stored as a shortcut in global search.
Query parameter added to suggestion queries to limit the number of suggestions returned. This limit is only advisory and suggestion providers may chose to ignore it.
Uri path for queried suggestions data. This is the path that the search manager will use when querying your content provider for suggestions data based on user input (e.g. looking for partial matches). Typically you'll use this with a URI matcher.
Uri path for shortcut validation. This is the path that the search manager will use when querying your content provider to refresh a shortcutted suggestion result and to check if it is still valid. When asked, a source may return an up to date result, or no result. No result indicates the shortcut refers to a no longer valid sugggestion.
Intent extra data key: Use this key with
content.Intent.getStringExtra()
to obtain the query string typed in by the user.
This may be different from the value of QUERY
if the intent is the result of selecting a suggestion.
In that case, QUERY
will contain the value of
SUGGEST_COLUMN_QUERY
for the suggestion, and
USER_QUERY
will contain the string typed by the
user.
Gets the name of the global search activity.
Gets information about a searchable activity.
componentName | The activity to get searchable information for. |
---|
null
if the activity does not
exist, or is not searchable.
Returns a list of the searchable activities that can be included in global search.
android:includeInGlobalSearch
attribute set
in their searchable meta-data.
This method was deprecated
in API level 4.
This method is an obsolete internal implementation detail. Do not use.
This method will be invoked when the dialog is canceled.
dialog | The dialog that was canceled will be passed into the method. |
---|
This method was deprecated
in API level 4.
This method is an obsolete internal implementation detail. Do not use.
This method will be invoked when the dialog is dismissed.
dialog | The dialog that was dismissed will be passed into the method. |
---|
Set or clear the callback that will be invoked whenever the search UI is canceled.
listener | The SearchManager.OnCancelListener to use, or null.
|
---|
Set or clear the callback that will be invoked whenever the search UI is dismissed.
listener | The SearchManager.OnDismissListener to use, or null.
|
---|
Launch search UI.
The search manager will open a search widget in an overlapping window, and the underlying activity may be obscured. The search entry state will remain in effect until one of the following events:
stopSearch()
method, which will hide the search window and return focus to the
activity from which it was launched.Most applications will not use this interface to invoke search.
The primary method for invoking search is to call
Activity.onSearchRequested()
or
Activity.startSearch()
.
initialQuery | A search string can be pre-entered here, but this is typically null or empty. |
---|---|
selectInitialQuery | If true, the intial query will be preselected, which means that any further typing will replace it. This is useful for cases where an entire pre-formed query is being inserted. If false, the selection point will be placed at the end of the inserted query. This is useful when the inserted query is text that the user entered, and the user would expect to be able to keep typing. This parameter is only meaningful if initialQuery is a non-empty string. |
launchActivity | The ComponentName of the activity that has launched this search. |
appSearchData | An application can insert application-specific context here, in order to improve quality or specificity of its own searches. This data will be returned with SEARCH intent(s). Null if no extra data is required. |
globalSearch | If false, this will only launch the search that has been specifically defined by the application (which is usually defined as a local search). If no default search is defined in the current application or activity, global search will be launched. If true, this will always launch a platform-global (e.g. web-based) search instead. |
Terminate search UI.
Typically the user will terminate the search UI by launching a search or by canceling. This function allows the underlying application or activity to cancel the search prematurely (for any reason).
This function can be safely called at any time (even if no search is active.)
Similar to startSearch(String, boolean, ComponentName, Bundle, boolean)
but actually fires off the search query after invoking
the search dialog. Made available for testing purposes.
query | The query to trigger. If empty, request will be ignored. |
---|---|
launchActivity | The ComponentName of the activity that has launched this search. |
appSearchData | An application can insert application-specific context here, in order to improve quality or specificity of its own searches. This data will be returned with SEARCH intent(s). Null if no extra data is required. |