CloudMediaProvider 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
雲端媒體供應商的基底類別。
[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
- 繼承
- 屬性
備註
雲端媒體供應商的基底類別。 雲端媒體供應商提供對耐用媒體檔案的唯讀存取,特別是儲存在本地磁碟的照片和影片,或雲端儲存服務中的檔案。 要建立雲端媒體提供者,擴充此類別,實作抽象方法,並像這樣加入你的清單:
<manifest>
...
<application>
...
<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"
<intent-filter>
<action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
</intent-filter>
</provider>
...
</application>
</manifest>
在定義你的服務提供者時,你必須用 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 |
回傳此 |
| 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>) |
覆寫此設定以處理執行一批操作的請求,否則預設實作會反覆處理這些操作並呼叫 |
| ApplyBatch(String, IList<ContentProviderOperation>) |
覆寫此設定以處理執行一批操作的請求,否則預設實作會反覆處理這些操作並呼叫 |
| AttachInfo(Context, ProviderInfo) |
實作由父類別提供。 |
| BulkInsert(Uri, ContentValues[]) |
覆寫此設定以處理插入一組新資料列的請求,否則預設實作會遍歷這些值並 |
| 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() |
每當 變更 |
| OnConfigurationChanged(Configuration) |
新增此方法必須在應用程式主執行緒中被呼叫,且不得執行冗長操作。 (繼承來源 ContentProvider) |
| OnCreate() |
在啟動時實作這個功能來初始化你的內容提供者。 (繼承來源 ContentProvider) |
| OnCreateCloudMediaSurfaceController(Bundle, CloudMediaProvider+CloudMediaSurfaceStateChangedCallback) |
回傳用於渲染媒體項目預覽的 CloudMediaSurfaceController,若不支援預覽渲染則為空。 |
| OnGetCapabilities() |
回傳 CloudMediaProviderContract.Capabilities 的 CloudMediaProvider。 |
| OnGetMediaCollectionInfo(Bundle) |
回傳媒體收藏本身的元資料。 |
| OnLowMemory() |
新增此方法必須在應用程式主執行緒中被呼叫,且不得執行冗長操作。 (繼承來源 ContentProvider) |
| OnOpenMedia(String, Bundle, CancellationSignal) |
回傳由 標示的 |
| OnOpenPreview(String, Point, Bundle, CancellationSignal) |
回傳一個 |
| OnQueryAlbums(Bundle) |
回傳一個游標,代表媒體收藏中所有專輯項目,並可選擇性地依 |
| OnQueryDeletedMedia(Bundle) |
回傳 a |
| OnQueryMedia(Bundle) |
回傳一個游標,代表媒體收藏中所有媒體項目,並可選擇性地依 |
| OnQueryMediaCategories(String, Bundle, CancellationSignal) |
根據給定 |
| OnQueryMediaInMediaSet(String, Bundle, CancellationSignal) |
對特定 下可用媒體項目 |
| OnQueryMediaSets(String, Bundle, CancellationSignal) |
對特定 下可用 MediaSets |
| OnQuerySearchSuggestions(String, Bundle, CancellationSignal) |
根據 ,篩選的 |
| OnSearchMedia(String, Bundle, CancellationSignal) |
根據輸入的搜尋文字搜尋媒體項目,並根據匹配結果管理 |
| OnSearchMedia(String, String, Bundle, CancellationSignal) |
根據所選建議搜尋媒體項目,由 管理 |
| OnTrimMemory(TrimMemory) |
當作業系統判斷程序是刪除其程序中不需要記憶體的好時機時,會被呼叫。 (繼承來源 ContentProvider) |
| OpenAssetFile(Uri, String, CancellationSignal) |
這類似 |
| OpenAssetFile(Uri, String) |
這類似 |
| OpenFile(Uri, String, CancellationSignal) |
實作由父類別提供。 |
| OpenFile(Uri, String) |
實作由父類別提供。 |
| OpenFileHelper(Uri, String) |
對於想要實作 |
| OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter) |
一個幫助函式,用於實作 |
| 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) |
實作此功能以支援由 所識別 |
| RequireContext() |
擷取此提供者正在執行的非空(Non-Nullable)上下文,該上下文預定在 |
| RestoreCallingIdentity(ContentProvider+CallingIdentity) |
將當前執行緒中接收的 IPC 身份恢復回先前由 |
| 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) |
移除先前由 |
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
雲端媒體供應商的基底類別。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |