AbstractThreadedSyncAdapter Classe

Definição

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

[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
Herança
AbstractThreadedSyncAdapter
Atributos

Comentários

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização. Se uma operação de sincronização já estiver em andamento quando uma solicitação de sincronização for recebida, um erro será retornado à nova solicitação e a solicitação existente poderá continuar. No entanto, se não houver sincronização em andamento, um thread será gerado e #onPerformSync será invocado nesse thread.

As sincronizações podem ser canceladas a qualquer momento pela estrutura. Por exemplo, uma sincronização que não foi iniciada pelo usuário e dura mais de 10 minutos será considerada com tempo limite e cancelado. Da mesma forma, a estrutura tentará determinar se um adaptador está ou não progredindo monitorando sua atividade de rede ao longo de um minuto. Se o tráfego de rede por essa janela estiver próximo o suficiente para zero, a sincronização será cancelada. Você também pode solicitar que a sincronização seja cancelada por meio ContentResolver#cancelSync(Account, String) ou ContentResolver#cancelSync(SyncRequest).

Uma sincronização é cancelada emitindo um Thread#interrupt() thread de sincronização. <forte O código deve verificar Thread#interrupted()ou você deve substituir uma de#onSyncCanceled()</#onSyncCanceled(Thread) /strong> (dependendo se o adaptador dá suporte ou não à sincronização de várias contas em paralelo).#onPerformSync(Account, Bundle, String, ContentProviderClient, SyncResult)> Se o adaptador não respeitar o cancelamento emitido pela estrutura, você executará o risco de todo o processo do aplicativo ser encerrado.

Para ser um adaptador de sincronização, é necessário estender essa classe, fornecer implementações para os métodos abstratos e gravar um serviço que retorna o resultado do #getSyncAdapterBinder() serviço android.app.Service#onBind(android.content.Intent) quando invocado com uma intenção com a ação android.content.SyncAdapter. Esse serviço deve especificar as seguintes marcas de filtro de intenção e metadados em seu arquivo AndroidManifest.xml

&lt;intent-filter&gt;
                &lt;action android:name="android.content.SyncAdapter" /&gt;
              &lt;/intent-filter&gt;
              &lt;meta-data android:name="android.content.SyncAdapter"
                        android:resource="@xml/syncadapter" /&gt;

O android:resource atributo deve apontar para um recurso semelhante a:

&lt;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"
            /&gt;

<ul><li>O android:contentAuthority e android:accountType os atributos indicam qual autoridade de conteúdo e para quais tipos de conta esse adaptador de sincronização serve. <li>android:userVisible usa como padrão true e controla se esse adaptador de sincronização aparece ou não na tela Configurações de Sincronização. <li>android:supportsUploading usa como padrão true e, se true, uma sincronização somente upload será solicitada para todos os sincronizadores associados a uma autoridade sempre que o provedor de conteúdo dessa autoridade fizer um ContentResolver#notifyChange(android.net.Uri, android.database.ContentObserver, boolean) com syncToNetwork definido como true. <li>android:allowParallelSyncs usa o padrão como false e, se verdadeiro, indica que o adaptador de sincronização pode lidar com sincronizações para várias contas ao mesmo tempo. Caso contrário, o SyncManager aguardará até que o adaptador de sincronização não esteja em uso antes de solicitar que ele sincronize os dados de uma conta. <li>android:isAlwaysSyncable usa como padrão false e, se true, informa o SyncManager para inicializar o estado isSyncable como 1 para esse adaptador de sincronização para cada conta adicionada. <Li>android:syncAdapterSettingsAction usa como padrão nulo e, se fornecido, especifica uma ação de intenção de uma atividade que pode ser usada para ajustar as configurações de sincronização do adaptador de sincronização. A atividade deve estar no mesmo pacote que o adaptador de sincronização. </ul>

Java documentação para android.content.AbstractThreadedSyncAdapter.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
AbstractThreadedSyncAdapter(Context, Boolean, Boolean)

Cria um AbstractThreadedSyncAdapter.

AbstractThreadedSyncAdapter(Context, Boolean)

Cria um AbstractThreadedSyncAdapter.

AbstractThreadedSyncAdapter(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Campos

Nome Description
LogSyncDetails
Obsoleto.

Marca de log de eventos do kernel.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Context
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
JniPeerMembers

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

PeerReference

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
SyncAdapterBinder
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Dispose()

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
Dispose(Boolean)

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
OnPerformSync(Account, Bundle, String, ContentProviderClient, SyncResult)

Execute uma sincronização para essa conta.

OnSecurityException(Account, Bundle, String, SyncResult)

Informe que houve uma exceção de segurança ao abrir o provedor de conteúdo antes da chamada #onPerformSync.

OnSyncCanceled()

Indica que uma operação de sincronização foi cancelada.

OnSyncCanceled(Thread)

Indica que uma operação de sincronização foi cancelada.

OnUnsyncableAccount()

Permite adiar a sincronização até que todas as contas sejam configuradas corretamente.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
ToArray<T>()

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
IJavaPeerable.Finalized()

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

(Herdado de Object)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Uma implementação abstrata de um SyncAdapter que gera um thread para invocar uma operação de sincronização.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a