語言

CloudMediaProvider 類別

定義

雲端媒體供應商的基底類別。

[Android.Runtime.Register("android/provider/CloudMediaProvider", ApiSince=33, DoNotGenerateAcw=true)]
public abstract class CloudMediaProvider : Android.Content.ContentProvider
[<Android.Runtime.Register("android/provider/CloudMediaProvider", ApiSince=33, DoNotGenerateAcw=true)>]
type CloudMediaProvider = class
    inherit ContentProvider
繼承
屬性

備註

雲端媒體供應商的基底類別。 雲端媒體供應商提供對耐用媒體檔案的唯讀存取,特別是儲存在本地磁碟的照片和影片,或雲端儲存服務中的檔案。 要建立雲端媒體提供者,擴充此類別,實作抽象方法,並像這樣加入你的清單:

&lt;manifest&gt;
               ...
               &lt;application&gt;
                   ...
                   &lt;provider
                       android:name="com.example.MyCloudProvider"
                       android:authorities="com.example.mycloudprovider"
                       android:exported="true"
                       android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
                       &lt;intent-filter&gt;
                           &lt;action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" /&gt;
                       &lt;/intent-filter&gt;
                   &lt;/provider&gt;
                   ...
               &lt;/application&gt;
            &lt;/manifest&gt;

在定義你的服務提供者時,你必須用 CloudMediaProviderContract#MANAGE_CLOUD_MEDIA_PROVIDERS_PERMISSION保護它,這是只有系統能取得的權限,嘗試定義一個未受保護 CloudMediaProvider 的服務會導致 SecurityException。

應用程式無法直接使用雲端媒體供應商;必須通過 MediaStore#ACTION_PICK_IMAGES ,使用者必須主動導航並選擇媒體項目。 當使用者透過該 UI 選擇媒體項目時,系統會向請求應用程式發出狹窄的 URI 權限。 <h3>媒體項目</h3>

媒體項目必須是可開啟的串流(具有特定 MIME 類型)。 媒體項目可以屬於零張或多個相簿。 專輯不能包含其他專輯。

每個提供者下的項目皆以其媒體或專輯 ID 唯一參考,且不得改變,且必須在所有集合 ID 中唯一,該 ID 由 返回 #onGetMediaCollectionInfo。

Java 文件 android.provider.CloudMediaProvider。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
CloudMediaProvider()

雲端媒體供應商的基底類別。

CloudMediaProvider(IntPtr, JniHandleOwnership)

雲端媒體供應商的基底類別。

屬性

名稱 Description
CallingAttributionSource

取得通話應用程式的歸因來源。

(繼承來源 ContentProvider)
CallingAttributionTag

回傳發起當前執行緒請求的呼叫者的歸因標籤。

(繼承來源 ContentProvider)
CallingPackage

回傳發起當前執行緒請求的呼叫者的套件名稱。

(繼承來源 ContentProvider)
CallingPackageUnchecked

回傳發起當前執行緒請求的呼叫者的套件名稱。

(繼承來源 ContentProvider)
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Context

取得此提供者正在執行的上下文。

(繼承來源 ContentProvider)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
IsTemporary

如果此實例是暫時性內容提供者,則回傳為真。

(繼承來源 ContentProvider)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
JniPeerMembers

雲端媒體供應商的基底類別。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ReadPermission
已淘汰.

請回傳該內容提供者的唯讀權限名稱。 -或- 更改讀取內容提供者資料所需的權限。

(繼承來源 ContentProvider)
ThresholdClass

雲端媒體供應商的基底類別。

ThresholdType

雲端媒體供應商的基底類別。

WritePermission
已淘汰.

回傳讀寫存取本內容提供者所需的權限名稱。 -或- 更改內容提供者中讀寫資料所需的權限。

(繼承來源 ContentProvider)

方法

名稱 Description
ApplyBatch(IList<ContentProviderOperation>)

覆寫此設定以處理執行一批操作的請求,否則預設實作會反覆處理這些操作並呼叫 ContentProviderOperation#apply 每一個操作。

(繼承來源 ContentProvider)
ApplyBatch(String, IList<ContentProviderOperation>)

覆寫此設定以處理執行一批操作的請求,否則預設實作會反覆處理這些操作並呼叫 ContentProviderOperation#apply 每一個操作。

(繼承來源 ContentProvider)
AttachInfo(Context, ProviderInfo)

實作由父類別提供。

BulkInsert(Uri, ContentValues[])

覆寫此設定以處理插入一組新資料列的請求,否則預設實作會遍歷這些值並 #insert 呼叫每個值。

(繼承來源 ContentProvider)
Call(String, String, Bundle)

實作由父類別提供。

Call(String, String, String, Bundle)

呼叫提供者定義的方法。

(繼承來源 ContentProvider)
Canonicalize(Uri)

實作由父類別提供。

ClearCallingIdentity()

在目前執行緒中重設接收 IPC 的身份。

(繼承來源 ContentProvider)
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
Delete(Uri, Bundle)

實作這個功能來處理刪除一列或多列的請求。

(繼承來源 ContentProvider)
Delete(Uri, String, String[])

實作由父類別提供。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
Dump(FileDescriptor, PrintWriter, String[])

將提供者的狀態印入給定的串流中。

(繼承來源 ContentProvider)
DumpAsync(FileDescriptor, PrintWriter, String[])

將提供者的狀態印入給定的串流中。 如果你執行「adb shell dumpsys activity provider <provider_component_name>」,這個會被喚用。

(繼承來源 ContentProvider)
Equals(Object)

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetPathPermissions()

回傳讀取及/或寫入此內容提供者所需的路徑權限。

(繼承來源 ContentProvider)
GetStreamTypes(Uri, String)

由用戶端呼叫以判斷該內容提供者支援給定 URI 的資料串流類型。

(繼承來源 ContentProvider)
GetType(Uri)

實作由父類別提供。

GetTypeAnonymous(Uri)

實作此功能以處理 MIME 類型的 URI 請求,無需透露任何內部資訊,且應受任何權限保護。

(繼承來源 ContentProvider)
Insert(Uri, ContentValues, Bundle)

實作這個功能來處理插入新列的請求。

(繼承來源 ContentProvider)
Insert(Uri, ContentValues)

實作由父類別提供。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
OnCallingPackageChanged()

每當 變更 #getCallingPackage() 值發生時就會呼叫,讓提供者有機會使其執行的任何安全相關快取失效。

(繼承來源 ContentProvider)
OnConfigurationChanged(Configuration)

新增此方法必須在應用程式主執行緒中被呼叫,且不得執行冗長操作。

(繼承來源 ContentProvider)
OnCreate()

在啟動時實作這個功能來初始化你的內容提供者。

(繼承來源 ContentProvider)
OnCreateCloudMediaSurfaceController(Bundle, CloudMediaProvider+CloudMediaSurfaceStateChangedCallback)

回傳用於渲染媒體項目預覽的 CloudMediaSurfaceController,若不支援預覽渲染則為空。

OnGetCapabilities()

回傳 CloudMediaProviderContract.Capabilities 的 CloudMediaProvider。

OnGetMediaCollectionInfo(Bundle)

回傳媒體收藏本身的元資料。

OnLowMemory()

新增此方法必須在應用程式主執行緒中被呼叫,且不得執行冗長操作。

(繼承來源 ContentProvider)
OnOpenMedia(String, Bundle, CancellationSignal)

回傳由 標示的 mediaId全尺寸媒體項目。

OnOpenPreview(String, Point, Bundle, CancellationSignal)

回傳一個 size 由 mediaId

OnQueryAlbums(Bundle)

回傳一個游標,代表媒體收藏中所有專輯項目,並可選擇性地依 extras 、 、 反向時間 CloudMediaProviderContract.AlbumColumns#DATE_TAKEN_MILLIS順序篩選並排序。

OnQueryDeletedMedia(Bundle)

回傳 a Cursor 代表目前提供者版本中整個媒體收藏中所有已刪除的媒體項目,該項目由 #onGetMediaCollectionInfo。

OnQueryMedia(Bundle)

回傳一個游標,代表媒體收藏中所有媒體項目,並可選擇性地依 extras 、 、 的逆時間 CloudMediaProviderContract.MediaColumns#DATE_TAKEN_MILLIS順序篩選並排序。

OnQueryMediaCategories(String, Bundle, CancellationSignal)

根據給定 parentCategoryId的 , extras篩選出可用的 MediaCategories 查詢。

OnQueryMediaInMediaSet(String, Bundle, CancellationSignal)

對特定 下可用媒體項目mediaSetId的查詢,經過 篩選。extras

OnQueryMediaSets(String, Bundle, CancellationSignal)

對特定 下可用 MediaSets mediaCategoryId的查詢,經過 篩選。extras

OnQuerySearchSuggestions(String, Bundle, CancellationSignal)

根據 ,篩選的prefixText可用搜尋建議extras查詢。

OnSearchMedia(String, Bundle, CancellationSignal)

根據輸入的搜尋文字搜尋媒體項目,並根據匹配結果管理 extras 並回傳游 CloudMediaProviderContract.MediaColumns 標。

OnSearchMedia(String, String, Bundle, CancellationSignal)

根據所選建議搜尋媒體項目,由 管理 extras ,並根據匹配回傳游標 CloudMediaProviderContract.MediaColumns 。

OnTrimMemory(TrimMemory)

當作業系統判斷程序是刪除其程序中不需要記憶體的好時機時,會被呼叫。

(繼承來源 ContentProvider)
OpenAssetFile(Uri, String, CancellationSignal)

這類似 #openFile於 ,但可以由需要能夠回傳檔案子區段(通常是資產)的提供者實作。

(繼承來源 ContentProvider)
OpenAssetFile(Uri, String)

這類似 #openFile於 ,但可以由需要能夠回傳檔案子區段(通常是資產)的提供者實作。

(繼承來源 ContentProvider)
OpenFile(Uri, String, CancellationSignal)

實作由父類別提供。

OpenFile(Uri, String)

實作由父類別提供。

OpenFileHelper(Uri, String)

對於想要實作 #openFile 的子類別來說,透過在指定 URI 中查找名為「_data」的欄位,方便使用。

(繼承來源 ContentProvider)
OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter)

一個幫助函式,用於實作 #openTypedAssetFile資料管道和背景執行緒,讓你能將產生的資料串流回用戶端。

(繼承來源 ContentProvider)
OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal)

實作由父類別提供。

OpenTypedAssetFile(Uri, String, Bundle)

實作由父類別提供。

Query(Uri, String[], Bundle, CancellationSignal)

實作由父類別提供。

Query(Uri, String[], String, String[], String, CancellationSignal)

實作由父類別提供。

Query(Uri, String[], String, String[], String)

實作由父類別提供。

Refresh(Uri, Bundle, CancellationSignal)

實作此功能以支援由 所識別 uri的內容刷新。

(繼承來源 ContentProvider)
RequireContext()

擷取此提供者正在執行的非空(Non-Nullable)上下文,該上下文預定在 #onCreate後呼叫。

(繼承來源 ContentProvider)
RestoreCallingIdentity(ContentProvider+CallingIdentity)

將當前執行緒中接收的 IPC 身份恢復回先前由 #clearCallingIdentity返回的身份。

(繼承來源 ContentProvider)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPathPermissions(PathPermission[])

更改內容提供者中讀取和/或寫入資料所需的路徑權限。

(繼承來源 ContentProvider)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
SetReadPermission(String)

更改閱讀內容提供者資料所需的權限。 這通常是根據服務成立時的清單資訊自動設定的。

(繼承來源 ContentProvider)
SetWritePermission(String)

更改在內容提供者中寫入資料所需的權限。 這通常是根據服務成立時的清單資訊自動設定的。

(繼承來源 ContentProvider)
Shutdown()

實作這個功能來關閉 ContentProvider 實例。

(繼承來源 ContentProvider)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
Uncanonicalize(Uri)

移除先前由 #canonicalize返回的典範 URI 中的典範化。

(繼承來源 ContentProvider)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Update(Uri, ContentValues, Bundle)

實作這個功能來處理更新一列或多列的請求。

(繼承來源 ContentProvider)
Update(Uri, ContentValues, String, String[])

實作由父類別提供。

Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

雲端媒體供應商的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

雲端媒體供應商的基底類別。

(繼承來源 ContentProvider)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

雲端媒體供應商的基底類別。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於