DocumentsProvider.QuerySearchDocuments Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
QuerySearchDocuments(String, String, String[]) |
Return documents that match the given query under the requested root. |
QuerySearchDocuments(String, String[], Bundle) |
Return documents that match the given query under the requested root. |
QuerySearchDocuments(String, String, String[])
Return documents that match the given query under the requested root.
[Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Handler")]
public virtual Android.Database.ICursor? QuerySearchDocuments (string? rootId, string? query, string[]? projection);
[<Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Handler")>]
abstract member QuerySearchDocuments : string * string * string[] -> Android.Database.ICursor
override this.QuerySearchDocuments : string * string * string[] -> Android.Database.ICursor
Parameters
- rootId
- String
the root to search under.
- query
- String
string to match documents against.
- projection
- String[]
list of Document
columns to put into the
cursor. If null
all supported columns should be
included.
Returns
- Attributes
Exceptions
Remarks
Return documents that match the given query under the requested root. The returned documents should be sorted by relevance in descending order. How documents are matched against the query string is an implementation detail left to each provider, but it's suggested that at least Document#COLUMN_DISPLAY_NAME
be matched in a case-insensitive fashion.
If your provider is cloud-based, and you have some data cached or pinned locally, you may return the local data immediately, setting DocumentsContract#EXTRA_LOADING
on the Cursor to indicate that you are still fetching additional data. Then, when the network data is available, you can send a change notification to trigger a requery and return the complete contents.
To support change notifications, you must Cursor#setNotificationUri(ContentResolver, Uri)
with a relevant Uri, such as DocumentsContract#buildSearchDocumentsUri(String, String, String)
. Then you can call ContentResolver#notifyChange(Uri, android.database.ContentObserver, boolean)
with that Uri to send change notifications.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
See also
Applies to
QuerySearchDocuments(String, String[], Bundle)
Return documents that match the given query under the requested root.
[Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_arrayLjava_lang_String_Landroid_os_Bundle_Handler", ApiSince=29)]
public virtual Android.Database.ICursor? QuerySearchDocuments (string rootId, string[]? projection, Android.OS.Bundle queryArgs);
[<Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_arrayLjava_lang_String_Landroid_os_Bundle_Handler", ApiSince=29)>]
abstract member QuerySearchDocuments : string * string[] * Android.OS.Bundle -> Android.Database.ICursor
override this.QuerySearchDocuments : string * string[] * Android.OS.Bundle -> Android.Database.ICursor
Parameters
- rootId
- String
the root to search under.
- projection
- String[]
list of Document
columns to put into the
cursor. If null
all supported columns should be
included.
- queryArgs
- Bundle
the query arguments.
DocumentsContract#QUERY_ARG_EXCLUDE_MEDIA
,
DocumentsContract#QUERY_ARG_DISPLAY_NAME
,
DocumentsContract#QUERY_ARG_MIME_TYPES
,
DocumentsContract#QUERY_ARG_FILE_SIZE_OVER
,
DocumentsContract#QUERY_ARG_LAST_MODIFIED_AFTER
.
Returns
cursor containing search result. Include
ContentResolver#EXTRA_HONORED_ARGS
in Cursor
extras Bundle
when any QUERY_ARG_* value was honored
during the preparation of the results.
- Attributes
Remarks
Return documents that match the given query under the requested root. The returned documents should be sorted by relevance in descending order. How documents are matched against the query string is an implementation detail left to each provider, but it's suggested that at least Document#COLUMN_DISPLAY_NAME
be matched in a case-insensitive fashion.
If your provider is cloud-based, and you have some data cached or pinned locally, you may return the local data immediately, setting DocumentsContract#EXTRA_LOADING
on the Cursor to indicate that you are still fetching additional data. Then, when the network data is available, you can send a change notification to trigger a requery and return the complete contents.
To support change notifications, you must Cursor#setNotificationUri(ContentResolver, Uri)
with a relevant Uri, such as DocumentsContract#buildSearchDocumentsUri(String, String, String)
. Then you can call ContentResolver#notifyChange(Uri, android.database.ContentObserver, boolean)
with that Uri to send change notifications.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.