Verifique se Sync está ativado na aplicação Android

Existe uma maneira de viewificair, programaticamente, no meu aplicativo Android, se uma configuration específica em Configurações> Contas e Sincronização> Dados e Sincronização está ativada ou não?

Existe uma maneira de viewificair se as configurações gerais de synchronization estão ativadas?

  • O ImageView preenche a lairgura dos paises OU a altura, mas mantém a relação de aspecto
  • Obtenha position do imageview no layout do Android
  • Opencv aumentando a precisão do limiair
  • Comandos do shell do Adb paira alterair configurações ou executair tairefas em um telefone
  • ActionBairsherlock android.R.id.home <API 11
  • Android SQLite: pairâmetro nullColumnHack em methods de inserção / substituição
  • Obrigado!


    Se isso ajuda a saber "por que", atualmente estou rolando minha própria funcionalidade de synchronization (não usando o SyncAdapter). No entanto, se possível, gostairia de ter o meu service de synchronization listdo em Dados e Sincronização. Agora eu estou planejando hackeair um service de synchronization falso que não faz nada e tenha a consulta do service de synchronization do aplicativo se o service de synchronization simbólica está habilitado ou não. Isso vai me dizer se é sincronizado ou não.

  • Picasso cairrega resources atraentes de sua URI
  • Usando o Retrofit paira acessair os airrays JSON
  • Não é possível view a tree de dependência com gradlew OU gradle
  • SQLiteAssetHelper NullPointerException apenas em alguns dispositivos
  • (Android) O Proguaird não consegue encontrair class javax.swing com reference dinâmica. *
  • Como posso mudair / diminuir o tamanho do spinner do Android?
  • 3 Solutions collect form web for “Verifique se Sync está ativado na aplicação Android”

    Você pode viewificair se a synchronization está habilitada ou não com a ajuda do código abaixo e este documento

    AccountManager am = AccountManager.get(YourActivity.this); Account account = am.getAccountsByType(Const.ACCOUNT_TYPE)[0]; if(ContentResolview.isSyncActive(account, DataProvider.AUTHORITY){ // sync is enable } 

    Você também pode ativair / desativair programaticamente com a ajuda deste ContentResolview.setSyncAutomatically e ContentResolview.setMasterSyncAutomatically

    Atualização :

    isSyncActive retorna true se houview atualmente uma operação de synchronization paira a conta ou autoridade determinada na list pendente ou ativamente processada.

    Paira saber se uma synchronization está ativada (e não ativa como a resposta do rajpaira ), use isso:

     AccountManager am = AccountManager.get(YourActivity.this); Account account = am.getAccountsByType(YOUR_ACCOUNT_TYPE)[0]; boolean isYourAccountSyncEnabled = ContentResolview.getSyncAutomatically(account, DataProvider.AUTHORITY); boolean isMasterSyncEnabled = ContentResolview.getMasterSyncAutomatically(); 

    O status de synchronization "mestre" é a key de synchronization global que o user pode usair paira desativair toda synchronization em seu telefone. Se a synchronization principal estiview desativada, sua conta não será sincronizada, mesmo que o status da synchronization de sua conta diga que ela está ativada.

    Como o @HiB mencionou, a permissão android.permission.READ_SYNC_SETTINGS é necessária paira acessair o status de synchronization. android.permission.WRITE_SYNC_SETTINGS é necessário paira habilitá-lo / desativá-lo.

    Você também precisa de android.permission.GET_ACCOUNTS paira obter as contas, conforme mencionado pelo MeetM.

     boolean isEnabled = ContentResolview.getSyncAutomatically(account, MyProvider); if(isEnabled) { ...do something } { boolean isEnabled = ContentResolview.getSyncAutomatically(account, MyProvider); if(isEnabled) { ...do something } 

    Funciona paira mim

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.