DocumentsProvider.QuerySearchDocuments 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| QuerySearchDocuments(String, String[], Bundle, CancellationSignal) |
回傳與所請求目錄中查詢相符的文件。 |
| QuerySearchDocuments(String, String, String[], CancellationSignal) |
回傳與所請求目錄中查詢相符的文件。 |
| QuerySearchDocuments(String, String, String[]) |
回傳符合所請求根查詢的文件。 |
| QuerySearchDocuments(String, String[], Bundle) |
回傳符合所請求根查詢的文件。 |
QuerySearchDocuments(String, String[], Bundle, CancellationSignal)
回傳與所請求目錄中查詢相符的文件。
[Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_arrayLjava_lang_String_Landroid_os_Bundle_Landroid_os_CancellationSignal_Handler", ApiSince=37)]
public virtual Android.Database.ICursor? QuerySearchDocuments(string parentDocumentId, string[]? projection, Android.OS.Bundle queryArgs, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_arrayLjava_lang_String_Landroid_os_Bundle_Landroid_os_CancellationSignal_Handler", ApiSince=37)>]
abstract member QuerySearchDocuments : string * string[] * Android.OS.Bundle * Android.OS.CancellationSignal -> Android.Database.ICursor
override this.QuerySearchDocuments : string * string[] * Android.OS.Bundle * Android.OS.CancellationSignal -> Android.Database.ICursor
參數
- parentDocumentId
- String
可查閱的目錄。
- projection
- String[]
列入游標的清單 Document 。 是否 null 應該包含所有支持的欄位。
- queryArgs
- Bundle
查詢參數。
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。
- signal
- CancellationSignal
呼叫者用來表示是否應該取消請求。 可能是 Null。
傳回
包含搜尋結果的游標。 在結果準備過程中,若有任何QUERY_ARG_*值被尊重,請 ContentResolver#EXTRA_HONORED_ARGS 納入 Cursor 額外紀錄 Bundle 。
- 屬性
適用於
QuerySearchDocuments(String, String, String[], CancellationSignal)
回傳與所請求目錄中查詢相符的文件。
[Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Landroid_os_CancellationSignal_Handler", ApiSince=37)]
public virtual Android.Database.ICursor? QuerySearchDocuments(string parentDocumentId, string query, string[]? projection, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("querySearchDocuments", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;", "GetQuerySearchDocuments_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Landroid_os_CancellationSignal_Handler", ApiSince=37)>]
abstract member QuerySearchDocuments : string * string * string[] * Android.OS.CancellationSignal -> Android.Database.ICursor
override this.QuerySearchDocuments : string * string * string[] * Android.OS.CancellationSignal -> Android.Database.ICursor
參數
- parentDocumentId
- String
可查閱的目錄。
- query
- String
用字串來比對文件。
- projection
- String[]
列入游標的清單 Document 。 是否 null 應該包含所有支持的欄位。
- signal
- CancellationSignal
呼叫者用來表示是否應該取消請求。 可能是 Null。
傳回
- 屬性
適用於
QuerySearchDocuments(String, String, String[])
回傳符合所請求根查詢的文件。
[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
參數
- rootId
- String
要搜尋的根源。
- query
- String
用字串來比對文件。
- projection
- String[]
列入游標的清單 Document 。 是否 null 應該包含所有支持的欄位。
傳回
- 屬性
例外狀況
備註
回傳符合所請求根查詢的文件。 退回的文件應依相關性由高至低排序。 文件如何與查詢字串匹配是由各提供者自行決定的實作細節,但建議至少 Document#COLUMN_DISPLAY_NAME 以不區分大小寫的方式進行匹配。
如果你的服務提供者是雲端的,且你有部分資料在本地快取或釘選,你可以立即回傳本地資料,並在游標上設定 DocumentsContract#EXTRA_LOADING 你仍在取得額外資料。 然後,當網路資料可用時,你可以發送變更通知,觸發重新查詢並回傳完整內容。
要支援變更通知,您必須 Cursor#setNotificationUri(ContentResolver, Uri) 使用相關的 Uri,例如 DocumentsContract#buildSearchDocumentsUri(String, String, String)。 然後你可以用那個 Uri 打電話 ContentResolver#notifyChange(Uri, android.database.ContentObserver, boolean) 發送變更通知。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
另請參閱
適用於
QuerySearchDocuments(String, String[], Bundle)
回傳符合所請求根查詢的文件。
[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
參數
- rootId
- String
要搜尋的根源。
- projection
- String[]
列入游標的清單 Document 。 是否 null 應該包含所有支持的欄位。
- queryArgs
- Bundle
查詢參數。
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。
傳回
包含搜尋結果的游標。 在結果準備過程中,若有任何QUERY_ARG_*值被尊重,請 ContentResolver#EXTRA_HONORED_ARGS 納入 Cursor 額外紀錄 Bundle 。
- 屬性
備註
回傳符合所請求根查詢的文件。 退回的文件應依相關性由高至低排序。 文件如何與查詢字串匹配是由各提供者自行決定的實作細節,但建議至少 Document#COLUMN_DISPLAY_NAME 以不區分大小寫的方式進行匹配。
如果你的服務提供者是雲端的,且你有部分資料在本地快取或釘選,你可以立即回傳本地資料,並在游標上設定 DocumentsContract#EXTRA_LOADING 你仍在取得額外資料。 然後,當網路資料可用時,你可以發送變更通知,觸發重新查詢並回傳完整內容。
要支援變更通知,您必須 Cursor#setNotificationUri(ContentResolver, Uri) 使用相關的 Uri,例如 DocumentsContract#buildSearchDocumentsUri(String, String, String)。 然後你可以用那個 Uri 打電話 ContentResolver#notifyChange(Uri, android.database.ContentObserver, boolean) 發送變更通知。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。