---
title: "Provider de Ativação"
url: "https://devcenter.stone.com.br/sdk-android-provedor-ativacao"
image: "https://devcenter.stone.com.br/_og/d/c_Ocean.takumi,title_~UHJvdmlkZXIgZGUgQXRpdmHDp8Ojbw,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMzMEE2NkQifX19,p_Ii9zZGstYW5kcm9pZC1wcm92ZWRvci1hdGl2YWNhbyI,s_ysK8u8_v5Bqoh_0p.png"
---

# Provider de Ativação

O provider `ActiveApplicationProvider` é responsável por ativar e desativar o StoneCode do lojista.

Compartilhamento de Dados com apps Stone

A partir da versão 3.6.0, a função _StoneStart.init(APPLICATION\_CONTEXT)_ irá retornar o UserModel ativo no POS Android, caso a app esteja sendo executada em um POS.

Portanto, não será mais mais necessário ativar o SDK caso o StoneCode a ser utilizado seja o mesmo ativo no POS.

Caso você utilize um StoneCode diferente do ativo no POS, como no caso de multiplos Stone Codes, o processo de ativação ainda é necessário!

Ativando seu Stone Code:

```java
// Esse método deve ser executado para inicializar o SDK
List<UserModel> userList = StoneStart.init(APPLICATION_CONTEXT);

// Quando é retornado null, o SDK ainda não foi ativado
// Também é importante checar se o StoneCode está presente na lista retornada para evitar uma ativação desnecessária
if (userList == null || !hasStoneCode(userList, STONE_CODE)) {
  ActiveApplicationProvider activeApplicationProvider = new ActiveApplicationProvider(CONTEXT);
  activeApplicationProvider.setDialogMessage("Ativando o Stone Code");
  activeApplicationProvider.setDialogTitle("Aguarde");
  activeApplicationProvider.setConnectionCallback(new StoneCallbackInterface() {

    public void onSuccess() {
       // SDK ativado com sucesso
     }

     public void onError() {
       // Ocorreu algum erro na ativação
     }
  });
  activeApplicationProvider.activate(STONE_CODE);
} else {
  // O SDK já foi ativado.
}
```

Caso você esteja utilizando um POS Android, com seu Stone Code ativado você já pode começar a transacionar através do SDK.

Caso você esteja utilizando um pinpad, você precisa conectar com um pinpad para poder transacionar. Leia seção [Provedor de Conexão com Pinpad Bluetooth](https://devcenter.stone.com.br/sdk-android-provedor-conexao-pinpad-bluetooth)

Desativando um Stone Code:

```java
ActiveApplicationProvider activeApplicationProvider = new ActiveApplicationProvider(CONTEXT);
  activeApplicationProvider.setDialogMessage("Desativando o Stone Code");
  activeApplicationProvider.setDialogTitle("Aguarde");
  activeApplicationProvider.setConnectionCallback(new StoneCallbackInterface() {

     public void onSuccess() {
       // Operação executada com sucesso
     }

     public void onError() {
       // Ocorreu algum erro na operação
     }
  });
  activeApplicationProvider.deactivate(STONE_CODE);
```

Status do Provider

Todos os status que podem ser retornados por um provider estão disponíveis na seção [Status do Provider](https://devcenter.stone.com.br/sdk-android-status-provider).

Compartilhamento de Dados com apps Stone

É necessário tomar **extremo** cuidado ao desativar um StoneCode a partir da versão 3.6.0

Como as informações da Ativação são compartilhadas com o POS Android da Stone, desativar todos os StoneCodes ou desativar um StoneCode que não tenha sido explicitamente ativo pelo seu app pode gerar side-effects como, por exemplo, perda de todas as informações transacionais do POS.

---

**Jornada: [Integrar pelos Providers](https://devcenter.stone.com.br/sdk-android-overview-da-sdk)**  
Etapa 6 de 18

[**Etapa anterior**Providers](https://devcenter.stone.com.br/sdk-android-providers)[**Próxima etapa**Providers padrão: Provider de Captura](https://devcenter.stone.com.br/sdk-android-provedor-captura)

Siga a Stone nas redes sociais

[](https://www.facebook.com/stonepagamentos/)[](https://x.com/sejastone/)[](https://www.instagram.com/stone/)[](https://br.linkedin.com/company/stone-co)[](https://www.youtube.com/channel/UCk4L4JykgoDkN8YeuxkNqIQ)

© Stone Instituição de Pagamento S.A. CNPJ 16.501.555/0001-57

Av. Rebouças, 2880, 4º andar, Pinheiros, CEP 05.402-500 – São Paulo/SP

Instituição de pagamento autorizada pelo Banco Central do Brasil, nas modalidades de credenciadora e emissora de moeda eletrônica.