AbstractThreadedSyncAdapter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。
[Android.Runtime.Register("android/content/AbstractThreadedSyncAdapter", DoNotGenerateAcw=true)]
public abstract class AbstractThreadedSyncAdapter : Java.Lang.Object
[<Android.Runtime.Register("android/content/AbstractThreadedSyncAdapter", DoNotGenerateAcw=true)>]
type AbstractThreadedSyncAdapter = class
inherit Object
- 繼承
- 屬性
備註
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 如果同步處理作業在收到同步要求時已在進行中,則會將錯誤傳回至新的要求,並允許現有的要求繼續。 不過,如果進行中沒有同步處理,則會繁衍線程,並在 #onPerformSync
該線程上叫用。
架構可以隨時取消同步處理。 例如,未由使用者起始且持續超過30分鐘的同步處理會被視為逾時並取消。 同樣地,架構也會嘗試透過監視其網路活動一分鐘的時間,來判斷配接器是否正在進行中。 如果此視窗上的網路流量接近零,將會取消同步處理。 您也可以透過 ContentResolver#cancelSync(Account, String)
或 ContentResolver#cancelSync(SyncRequest)
要求取消同步處理。
同步處理會藉由在同步線程上發出 Thread#interrupt()
來取消。 <強>中的程式代碼#onPerformSync(Account, Bundle, String, ContentProviderClient, SyncResult)
必須檢查 Thread#interrupted()
,或者您必須覆寫 /strong> 的#onSyncCanceled()
#onSyncCanceled(Thread)
/<其中一個 (視您的配接器是否支援平行同步處理多個帳戶而定)。 如果您的配接器未遵守架構所發出的取消,您就會面臨應用程式整個進程遭到終止的風險。
若要成為同步配接器,必須擴充這個類別,請提供抽象方法的android.app.Service#onBind(android.content.Intent)
實作,並撰寫服務,以使用動作android.content.SyncAdapter
叫用時,傳回服務的結果#getSyncAdapterBinder()
。 此服務必須在其AndroidManifest.xml檔案中指定下列意圖篩選和元數據標記
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" />
屬性 android:resource
必須指向看起來如下的資源:
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="authority"
android:accountType="accountType"
android:userVisible="true|false"
android:supportsUploading="true|false"
android:allowParallelSyncs="true|false"
android:isAlwaysSyncable="true|false"
android:syncAdapterSettingsAction="ACTION_OF_SETTINGS_ACTIVITY"
/>
<ul><li>和 android:contentAuthority
android:accountType
屬性會指出此同步配接器提供的內容授權單位和帳戶類型。 <li>android:userVisible
預設為 true,並控制此同步配接器是否顯示在 [同步設定] 畫面中。 <li>android:supportsUploading
預設為 true,如果為 true,每當該授權單位的內容提供者對 ContentResolver#notifyChange(android.net.Uri, android.database.ContentObserver, boolean)
syncToNetwork 設定為 true 時,所有與授權單位相關聯的 syncadapter 都會要求僅上傳同步處理。 <li>android:allowParallelSyncs
預設為 false,如果為 true,表示同步配接器可以同時處理多個帳戶的同步處理。 否則 SyncManager 會等到同步配接器未使用,再要求同步處理帳戶的數據。 <li>android:isAlwaysSyncable
預設為 false,如果 true 會告訴 SyncManager 針對每個新增的帳戶,將 isSyncable 狀態初始化為 1。 <li>android:syncAdapterSettingsAction
預設為 null,如果提供,則會指定可用來調整同步適配卡同步設定之活動的意圖動作。 活動必須存在於與同步配接器相同的套件中。 </ul>
的 android.content.AbstractThreadedSyncAdapter
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
AbstractThreadedSyncAdapter(Context, Boolean, Boolean) |
建立 |
AbstractThreadedSyncAdapter(Context, Boolean) |
建立 |
AbstractThreadedSyncAdapter(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
欄位
LogSyncDetails |
已淘汰.
核心事件記錄標籤。 |
屬性
Class |
傳回這個 |
Context | |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
JniIdentityHashCode |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
JniPeerMembers |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 |
PeerReference |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
SyncAdapterBinder | |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
Dispose() |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
Dispose(Boolean) |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
JavaFinalize() |
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
OnPerformSync(Account, Bundle, String, ContentProviderClient, SyncResult) |
執行此帳戶的同步處理。 |
OnSecurityException(Account, Bundle, String, SyncResult) |
報告在呼叫 |
OnSyncCanceled() |
表示同步作業已取消。 |
OnSyncCanceled(Thread) |
表示同步作業已取消。 |
OnUnsyncableAccount() |
允許延遲同步處理,直到所有帳戶都正確設定為止。 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
ToArray<T>() |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IJavaPeerable.Disposed() |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 |
GetJniTypeName(IJavaPeerable) |
SyncAdapter 的抽象實作,會繁衍線程以叫用同步作業。 |