O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Activity

Acesse APIs compostas baseadas em atividade.
Atualização mais recente Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
7 de abril de 2021 1.2.2 - - 1.3.0-alpha06

Declarar dependências

Para adicionar uma dependência de atividade, adicione o repositório Maven do Google ao projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários no arquivo build.gradle para seu app ou módulo:

dependencies {
    def activity_version = "1.2.2"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Para ver mais informações sobre dependências, consulte Adicionar dependências de compilação.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas existentes (link em inglês) nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.3.0

Versão 1.3.0-alpha06

7 de abril de 2021

Lançamento de androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 e androidx.activity:activity-ktx:1.3.0-alpha06. A versão 1.3.0-alpha06 contém essas confirmações (link em inglês).

Mudanças na API

  • A API registerForActivityResult() foi renomeada como rememberLauncherForActivityResult() para indicar melhor que o ActivityResultLauncher retornado é um objeto gerenciado que é lembrado para você. A tentativa de chamar unregister do ActivityResultLauncher retornado agora emitirá um erro (I2bb6d).
  • LocalOnBackPressedDispatcherOwner.current e LocalActivityResultRegistryOwner.current agora retornam um valor anulável para determinar melhor se ele está disponível na composição atual. As APIs que exigem essas APIs, como BackHandler e rememberLauncherForActivityResult(), respectivamente, passarão a gerar um erro mais descritivo se o proprietário não for encontrado. NavHost agora funciona mesmo quando um OnBackPressedDispatcherOwner não é encontrado, como esse é o caso ao visualizar o NavHost (I7d8b4).

Correções de bugs

  • O BackHandler agora interceptará corretamente os pressionamentos para voltar no caso de que a atividade seja STOPPED, depois STARTED novamente e outros callbacks foram adicionados com um LifecycleOwner (I71de6, b/182284739).
  • Usar a extensão do método launch() com um ActivityResultContract personalizado que tem uma entrada Unit não causará mais uma NullPointerException (I76282 .b/183837954).

Versão 1.3.0-alpha05

24 de março de 2021

Lançamento de androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 e androidx.activity:activity-ktx:1.3.0-alpha05. A versão 1.3.0-alpha05 contém estas confirmações.

Correções de bugs

  • A partir da Activity 1.2.2: foi corrigido um problema na verificação de lint InvalidFragmentVersionForActivityResult que gerava um falso positivo ao usar o Fragment 1.3.1 ou mais recente (I54da1, b/182388985).
  • A partir da Activity 1.2.2: a ComponentActivity agora evita uma ClassNotFoundException ao iniciar uma Intent a de um ActivityResultContract que estava retido como um extra em outra Intent (Ieff05, b/182906230).

Atualizações de dependência

Versão 1.3.0-alpha04

10 de Março de 2021

Lançamento de androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 e androidx.activity:activity-ktx:1.3.0-alpha04. A versão 1.3.0-alpha04 contém estas confirmações.

Correções de bugs

  • A partir da Activity 1.2.1: RequestMultiplePermissions agora sempre retorna os resultados de todas as permissões solicitadas, em vez de somente permissões que não foram concedidas anteriormente (I50bc3, b/180884668).
  • A partir da Activity 1.2.1: ActivityResultRegistry agora garante que as solicitações launch() em andamento retornarão os resultados mesmo que você as unregister(), depois register() novamente com a mesma chave (I9ef34, b/181267562).
  • A Activity Compose não adiciona mais dependências de teste ao caminho de classe de tempo de execução (Ifd8b3).
  • Correção de um problema com o BackHandler, em que o lambda onBack definido anteriormente ainda estava sendo usado após a recomposição (8eb5eb).

Versão 1.3.0-alpha03

24 de fevereiro de 2021

Lançamento de androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 e androidx.activity:activity-ktx:1.3.0-alpha03. A versão 1.3.0-alpha03 contém estas confirmações.

Novos recursos

  • Existe agora uma função registerForActivityResult que pode ser composta e que tem como objetivo receber resultados de atividades nos elementos que podem ser compostos (Ia7851, b/172690553).

Mudanças na API

  • LocalOnBackPressedDispatcherOwner agora tem uma função provides que pode ser usada com o CompositionLocalProvider, substituindo a API asProvidableCompositionLocal() (I45d24).

Versão 1.3.0-alpha02

10 de fevereiro de 2021

Lançamento de androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 e androidx.activity:activity-ktx:1.3.0-alpha02. A versão 1.3.0-alpha02 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema no Activity Compose 1.3.0-alpha01 que causava uma exceção NoSuchMethodError: No static method setContent ao usar o Compose 1.0.0-alpha12. Todos os usuários do Compose precisam usar 1.3.0-alpha02 ou mais recente como dependência (b/179911234, link em inglês).

Mudanças na API

  • A API BackHandler pode ser usada para permitir que um Composto possa interceptar o botão "Voltar" do sistema (I58ed5, b/172154006, links em inglês).

Versão 1.3.0-alpha01

10 de fevereiro de 2021

Lançamento de androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 e androidx.activity:activity-ktx:1.3.0-alpha01. A versão 1.3.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • O novo artefato activity-compose fornece auxiliares específicos do Jetpack Compose para APIs específicas androidx.activity.
    • ComponentActivity.setContent foi movido de androidx.compose.ui.platform.setContent para androidx.activity.compose.setContent (Icf416, link em inglês).

Problemas conhecidos

  • O uso do Activity Compose 1.3.0-alpha01 e bibliotecas que dependem dele, como androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, resultarão em uma exceção NoSuchMethodError: No static method setContent (b/179911234).

Versão 1.2.2

Versão 1.2.2

24 de março de 2021

Lançamento de androidx.activity:activity:1.2.2 e androidx.activity:activity-ktx:1.2.2. A versão 1.2.2 contém estas confirmações.

Correções de bugs

  • Correção de um problema na verificação de lint InvalidFragmentVersionForActivityResult que gerava um falso positivo ao usar o Fragment 1.3.1 ou mais recente (I54da1, b/182388985).
  • A ComponentActivity agora evita uma ClassNotFoundException ao iniciar uma Intent a de um ActivityResultContract que era mantido como um extra em outra Intent (Ieff05, b/182906230).

Atualizações de dependência

Versão 1.2.1

Versão 1.2.1

10 de Março de 2021

Lançamento de androidx.activity:activity:1.2.1 e androidx.activity:activity-ktx:1.2.1. A versão 1.2.1 contém estas confirmações.

Correções de bugs

  • RequestMultiplePermissions agora sempre retorna resultados para todas as permissões solicitadas, e não somente permissões que não foram concedidas anteriormente (I50bc3, b/180884668).
  • ActivityResultRegistry agora garante que as solicitações launch() em andamento retornarão os resultados mesmo que você as unregister(), depois register() novamente com a mesma chave (I9ef34, b/181267562).

Versão 1.2.0

Versão 1.2.0

10 de fevereiro de 2021

Lançamento de androidx.activity:activity:1.2.0 e androidx.activity:activity-ktx:1.2.0. A versão 1.2.0 contém essas confirmações.

Principais mudanças desde a versão 1.1.0

  • APIs Activity Result: o ComponentActivity agora oferece um ActivityResultRegistry que permite processar startActivityForResult()+onActivityResult() e fluxos de requestPermissions()+onRequestPermissionsResult() sem substituir métodos na Activity ou no Fragment, traz maior segurança de tipo com ActivityResultContract e fornece hooks para testar esses fluxos. Veja a atualização de Como gerar resultados com uma atividade.
  • ContextAware: ComponentActivity agora implementa ContextAware, permitindo que você adicione uma ou mais instâncias de OnContextAvailableListener que receberão um callback antes da Activity.onCreate() básica.

    • Uma extensão Kotlin de suspensão withContextAvailable() permite que você execute um bloco que não é de suspensão quando o contexto ficar disponível e retorna um resultado
    • Essa API é usada por FragmentActivity no Fragment 1.3.0-alpha08 para restaurar o estado do FragmentManager. Todos os listeners adicionados às subclasses de FragmentActivity serão executados depois desse listener.
    • Essa API é usada por AppCompatActivity no AppCompat 1.3.0-alpha02 ou mais recentes. Todos os listeners adicionados às subclasses de AppCompatActivity serão executados depois desse listener.
  • Compatibilidade com ViewTree: ComponentActivity agora é compatível com as APIs ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) e ViewTreeSavedStateRegistryOwner adicionadas no Lifecycle 2.3.0 e no SavedState 1.1.0 para retornar a atividade como o LifecycleOwner, ViewModelStoreOwner, e SavedStateRegistryOwner para qualquer visualização adicionada diretamente a ComponentActivity.

  • reportFullyDrawn() backport: o método Activity de reportFullyDrawn() passou por um backport em ComponentActivity para funcionar em todos os níveis de API, corrigindo uma falha na API 19 e adicionando o rastreamento a este método para todos os níveis da API.

Versão 1.2.0-rc01

16 de dezembro de 2020

Lançamento de androidx.activity:activity:1.2.0-rc01 e androidx.activity:activity-ktx:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Correções de bugs

  • O ActivityResultRegistry agora restaura sempre o estado exato em que foi salvo (Idd56b).
  • Adição do rastreamento ao ComponentActivity.reportFullyDrawn (Ic7632).

Contribuição externa

  • ComponentActivity agora substitui reportFullyDrawn(), permitindo que ele seja chamado em todos os níveis de API e corrigindo uma falha ao chamar esse método sem a permissão adequada do sistema nos dispositivos com API 19. Agradecemos a Simon Schiller (b/163239764, #103).

Versão 1.2.0-beta02

2 de dezembro de 2020

Lançamento de androidx.activity:activity:1.2.0-beta02 e androidx.activity:activity-ktx:1.2.0-beta02. A versão 1.2.0-beta02 contém estas confirmações

Correções de bugs

  • Correção de um problema em que a API Activity Result não espera o Lifecycle ser STARTED antes de enviar resultados ao ser registrado com um Lifecycle (I109ea).

Contribuição externa

  • A documentação de launch() foi atualizada para deixar claro que ele pode gerar uma ActivityNotFoundException. Agradecemos a Michał Zieliński (aosp/1493580).

Versão 1.2.0-beta01

1º de outubro de 2020

Lançamento de androidx.activity:activity:1.2.0-beta01 e androidx.activity:activity-ktx:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

Correções de bugs

  • O ActivityResultRegistry agora gera números inteiros aleatoriamente até encontrar um que não esteja alocado para usar como um código de solicitação register(), evitando o possível estouro de números inteiros causado por incrementação de códigos de solicitação (b/168779518).

  • Os observadores Lifecycle são removidos adequadamente ao chamar unregister() em um ActivityResultLauncher (b/165608393).

Mudanças de comportamento

  • O ActivityResultRegistry agora gera uma IllegalStateException ao tentar chamar register() com um LifecycleOwner cujo Lifecycle já atingiu o status STARTED (b/165435866).

Documentação atualizada

  • A documentação de ContextAware está vinculada ao LifecycleOwner para destacar callbacks de Lifecycle como o local apropriado para eventos de criação e destruição (aosp/1414152).

Versão 1.2.0-alpha08

19 de agosto de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha08 e androidx.activity:activity-ktx:1.2.0-alpha08. A versão 1.2.0-alpha08 contém essas confirmações.

Novos recursos

  • ComponentActivity agora implementa ContextAware, permitindo que você adicione uma ou mais instâncias de OnContextAvailableListener que receberão um callback antes da Activity.onCreate() básica (b/161390636).
    • Uma extensão Kotlin de suspensão withContextAvailable() permite que você execute um bloco que não é de suspensão quando o contexto ficar disponível e retorna um resultado (I8290c).
    • Essa API é usada por FragmentActivity no fragmento 1.3.0-alpha08 para restaurar o estado do FragmentManager. Todos os listeners adicionados às subclasses de FragmentActivity serão executados depois desse listener. (I513da).
    • Essa API é usada pela AppCompatActivity no AppCompat 1.3.0-alpha02. Todos os listeners adicionados às subclasses de AppCompatActivity serão executados depois desse listener. (I513da)

Correções de bugs

  • Correção de um problema com a verificação de lint ActivityResultFragmentVersionDetector que fazia com que ela falhasse ao usar o lint 27.1.0 ou mais recente (b/162155191)

Versão 1.2.0-alpha07

22 de julho de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha07 e androidx.activity:activity-ktx:1.2.0-alpha07. A versão 1.2.0-alpha07 contém essas confirmações.

Novos recursos

  • Inclusão de uma nova verificação de lint InvalidFragmentVersionForActivityResult que verifica se você está usando o Fragment 1.3.0-alpha07 ao usar a API Activity Result. Isso evita falhas no tempo de execução devido a problemas de "código de solicitação inválido" e solicitações de permissão não funcionais causadas pelo uso de versões mais antigas de fragmentos (b/152554847).

Contribuição externa

  • Correção de um ArrayIndexOutOfBoundsException ao analisar os resultados para o contrato RequestPermission Activity Result (I8f9e3, b/161057605).

Versão 1.2.0-alpha06

10 de junho de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha06 e androidx.activity:activity-ktx:1.2.0-alpha06. A versão 1.2.0-alpha06 contém essas confirmações (link em inglês).

Novos recursos

  • Agora é possível desestruturar a classe ActivityResult no Kotlin para acessar requestCode e intent diretamente (b/157212935).
  • ActivityResultLauncher agora permite que você receba o ActivityResultContract que foi usado para registrar a tela de início (b/156875743, link em inglês).

Mudanças na API

  • Alteração interruptiva: o método invoke() em ActivityResultRegistry foi renomeado como onLaunch() (b/157496491).
  • O contrato OpenMultipleDocuments agora retorna uma lista vazia em vez de null para o callback registrado se nenhum resultado for retornado (b/157348014, link em inglês).

Versão 1.2.0-alpha05

20 de maio de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha05 e androidx.activity:activity-ktx:1.2.0-alpha05. A versão 1.2.0-alpha05 contém essas confirmações (link em inglês).

Novos recursos

Mudanças na API

  • O contrato TakePicture agora retorna um boolean indicando sucesso, em vez de uma miniatura Bitmap, já que raramente era compatível com apps de câmera ao gravar a imagem no Uri fornecido (b/154302879).
  • As extensões invoke() em ActivityResultLauncher foram removidas em favor do uso explícito de launch() para indicar melhor que essas são operações assíncronas. As extensões Kotlin para launch foram adicionadas ao pacote androidx.activity.result para ActivityResultLauncher<Void> e ActivityResultLauncher<Unit>, o que elimina a necessidade de passar null ou Unit, respectivamente, espelhando esse comportamento das extensões invoke() anteriores. (aosp/1304674, aosp/1304675).
  • Os métodos IntentSenderRequest.Builder para setFlagsMask() e setFlagsValues() foram combinados em um único método setFlags() (aosp/1302111, link em inglês)

Correções de bugs

  • Ao registrar um ActivityResultCallback com um LifecycleOwner, foi corrigido um problema em que o callback seria acionado antes que o estado alcançasse STARTED (aosp/1309744, link em inglês)

Mudanças de comportamento

  • O ActivityResultRegistry agora gera códigos de solicitação a partir de 0xFFFF em vez de 0, impedindo a sobreposição ao usar startActivityForResult() ou requestPermissions() em uma atividade (aosp/1302324, link em inglês)

Versão 1.2.0-alpha04

29 de abril de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha04 e androidx.activity:activity-ktx:1.2.0-alpha04. A versão 1.2.0-alpha04 contém essas confirmações (link em inglês).

Novos recursos

  • Adição de um contrato que pode chamar startIntentSenderForResult às APIs ActivityResult (b/153007517, link em inglês)

Mudanças na API

  • O método prepareCall() foi renomeado como registerForActivityResult(), tanto em ComponentActivity como no fragmento 1.3.0-alpha04 (aosp/1278717).
  • Os contratos GetContents, OpenDocuments e RequestPermissions foram renomeados como GetMultipleContents, OpenMultipleDocuments e RequestMultiplePermissions, respectivamente (aosp/1280161).
  • ComponentActivity agora implementa a interface ActivityResultRegisteryOwner (aosp/1290888).
  • As APIs startActivityForResult()/onActivityResult() e onRequestPermissionsResult() em ComponentActivity foram suspensas. Use as APIs Activity Result. (b/154751887, link em inglês)

Correções de bugs

  • Ao usar os contratos GetMultipleContents e OpenMultipleDocuments e selecionar um único item, ele será retornado corretamente para o callback (b/152941153, link em inglês)

Versão 1.2.0-alpha03

1º de abril de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha03 e androidx.activity:activity-ktx:1.2.0-alpha03. A versão 1.2.0-alpha03 contém essas confirmações (link em inglês).

Novos recursos

  • Adição dos contratos TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree e CreateDocument ao conjunto de contratos pré-criados fornecidos por ActivityResultContracts (aosp/1252482, aosp/1266916, aosp/1268960).
  • As APIs Activity Result agora são compatíveis com o lançamento de uma atividade para resultado com um ActivityOptionsCompat opcional (b/151860054, link em inglês)

Mudanças na API

  • O contrato TakePicture usa uma entrada Uri para onde a imagem será armazenada. O contrato anterior que não aceita entradas foi renomeado como TakePicturePreview. (aosp/1262482).
  • O método registerActivityResultCallback() em ActivityResultRegistry foi renomeado como register() (aosp/1267621).
  • O método dispose() em ActivityResultLauncher foi renomeado como unregister() e o unregisterResultCallback() em ActivityResultRegistry foi removido (aosp/1267621).
  • O método createIntent() de ActivityResultContact agora usa um Context além da entrada para possibilitar a criação de intents explícitas (aosp/1238800).
  • Um ActivityResultContract agora pode modificar getSynchronousResult() para entregar um resultado sem chamar startActivityForResult. Isso é usado pelos contratos RequestPermission e RequestPermissions para exibir corretamente o status "concedido" se as permissões solicitadas já tiverem sido concedidas. (b/151110799).
  • O contrato Dial anteriormente disponível foi removido porque Intent não pode ser usado com startActivityForResult() (aosp/1266916).
  • Muitas das APIs Activity Result que não podem ser estendidas agora são final. Isso inclui getActivityResultRegistry(), os métodos prepareCall(), todos os métodos de ActivityResultRegistry, exceto invoke(), e vários contratos padrão que não são compatíveis com extras opcionais. (b/152439361, link em inglês)

Correções de bugs

  • Correção de um NullPointerException em ActivityResultRegistry ao tentar entregar resultados a um callback que ainda não foi registrado novamente após uma mudança de configuração. ActivityResultRegistry agora mantém esses resultados pendentes e os entrega quando o callback é registrado novamente (b/152137004).

Versão 1.2.0-alpha02

18 de março de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha02 e androidx.activity:activity-ktx:1.2.0-alpha02. A versão 1.2.0-alpha02 contém essas confirmações (link em inglês).

Novos recursos

  • ActivityResultRegistry: agora, ComponentActivity fornece um ActivityResultRegistry que permite processar os fluxos startActivityForResult()+onActivityResult() e requestPermissions()+onRequestPermissionsResult() sem modificar os métodos na sua atividade ou seu fragmento, aumenta a segurança do tipo via ActivityResultContract e fornece hooks para testar esses fluxos. Veja a atualização de Como gerar resultados com uma atividade. (b/125158199).

Versão 1.2.0-alpha01

4 de março de 2020

Lançamento de androidx.activity:activity:1.2.0-alpha01 e androidx.activity:activity-ktx:1.2.0-alpha01. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • Inclusão de compatibilidade com a API ViewTreeLifecycleOwner.get(View) adicionada no ciclo de vida 2.3.0-alpha01, de modo que ela retornará a atividade como o LifecycleOwner para qualquer visualização adicionada diretamente à atividade (aosp/1182955, link em inglês)

Correções de bugs

  • Correção de uma regressão introduzida na atividade 1.1.0 ao ser executada em versões mais antigas da plataforma em que onBackPressed() causava uma IllegalStateException devido a um bug no android.app.FragmentManager (b/146290338, link em inglês)

Versão 1.1.0

Versão 1.1.0

22 de janeiro de 2020

androidx.activity:activity:1.1.0 é lançado. A versão 1.0.0 contém essas confirmações (link em inglês).

Mudanças importantes desde a versão 1.0.0

  • Integração do ciclo de vida ViewModel SavedState: SavedStateViewModelFactory agora é a fábrica padrão empregada ao usar o by viewModels(), o construtor ViewModelProvider ou ViewModelProviders.of() com uma ComponentActivity ou as subclasses dela.

Versão 1.1.0-rc03

4 de dezembro de 2019

Lançamento de androidx.activity:activity:1.1.0-rc03 e androidx.activity:activity-ktx:1.1.0-rc03. A versão 1.1.0-rc03 contém essas confirmações (link em inglês).

Mudanças na dependência

  • Agora, a atividade depende do ciclo de vida 2.2.0-rc03 e do ciclo de vida ViewModel SavedState 1.0.0-rc03.

Versão 1.1.0-rc02

7 de novembro de 2019

Lançamento de androidx.activity:activity:1.1.0-rc02 e androidx.activity:activity-ktx:1.1.0-rc02. A versão 1.0.0-rc02 contém essas confirmações (link em inglês).

Mudanças na dependência

  • A atividade agora depende do ciclo de vida 2.2.0-rc02.

Versão 1.1.0-rc01

23 de outubro de 2019

Lançamento de androidx.activity:activity:1.1.0-rc01 e androidx.activity:activity-ktx:1.1.0-rc01, sem mudanças desde 1.1.0-beta01. Versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Versão 1.1.0-beta01

9 de outubro de 2019

Lançamento de androidx.activity:activity:1.1.0-beta01 e androidx.activity:activity-ktx:1.1.0-beta01. Versão 1.0.0-beta01 contém essas confirmações (link em inglês).

Mudanças na dependência

  • A atividade agora depende do SavedState 1.0.0 estável.

Versão 1.1.0-alpha03

5 de setembro de 2019

Lançamento de androidx.activity:activity:1.1.0-alpha03 e androidx.activity:activity-ktx:1.1.0-alpha03. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Novos recursos

  • A atividade depende do Core 1.1.0 estável.

Correções de bugs

Versão 1.1.0-alpha02

7 de agosto de 2019

Lançamento de androidx.activity:activity:1.1.0-alpha02 e androidx.activity:activity-ktx:1.1.0-alpha02. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Novos recursos

  • SavedStateViewModelFactory agora é a fábrica padrão empregada ao usar by viewModels(), o construtor ViewModelProvider ou ViewModelProviders.of() com ComponentActivity (b/135716331).

Versão 1.1.0-alpha01

2 de julho de 2019

Lançamento de androidx.activity:activity:1.1.0-alpha01 e androidx.activity:activity-ktx:1.1.0-alpha01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Novos recursos

  • activity agora depende do ciclo de vida 2.2.0-alpha02 (aosp/1007817).
  • activity-ktx adicionou uma dependência em lifecycle-runtime-ktx. Você não precisa mais adicioná-lo explicitamente às suas dependências ao usar activity-ktx ou bibliotecas que dependem de activity-ktx (como fragment-ktx). (aosp/987162).

Versão 1.0.0

Versão 1.0.0

5 de setembro de 2019

Lançamento de androidx.activity:activity:1.0.0 e androidx.activity:activity-ktx:1.0.0. As confirmações incluídas nessa versão podem ser encontradas neste link (link em inglês).

Principais recursos do 1.0.0

  • ComponentActivity: ComponentActivity serve como a nova classe base para FragmentActivity no fragmento 1.1.0 e, por extensão, AppCompatActivity em AppCompat1.1.0.
  • activity-ktx: o módulo activity-ktx inclui uma extensão de propriedade by viewModels do Kotlin para acessar ViewModels. Este módulo é incluído automaticamente quando você adiciona fragment-ktx do fragmento 1.1.0.
  • OnBackPressedDispatcher: como uma alternativa composta à modificação de onBackPressed(), agora você pode registrar um OnBackPressedCallback de qualquer LifecycleOwner (como um fragmento) para interceptar eventos do botão "Voltar" do sistema. Um lambda com versão de receptor addCallback foi adicionado a activity-ktx. Consulte a página Oferecer navegação de retorno personalizada para mais detalhes.
  • Suspensão de uso de onRetainCustomNonConfigurationInstance: onRetainCustomNonConfigurationInstance() e as APIs getLastCustomNonConfigurationInstance() relacionadas foram suspensas. É altamente recomendável usar ViewModels para armazenar o estado de não configuração porque eles oferecem uma solução composta adequada para qualquer ViewModelStoreOwner que torne clara a propriedade dos objetos retidos e forneça um callback de onCleared() para limpar recursos quando a atividade é finalmente destruída.

Versão 1.0.0-rc01

2 de julho de 2019

Lançamento de androidx.activity:activity:1.0.0-rc01 e androidx.activity:activity-ktx:1.0.0-rc01, sem mudanças desde 1.0.0-beta01. As confirmações incluídas nessa versão podem ser encontradas neste link (link em inglês).

Versão 1.0.0-beta01

5 de junho de 2019

Lançamento de androidx.activity::activity:1.0.0-beta01 e androidx.activity:activity-ktx:1.0.0-beta01, sem mudanças desde 1.0.0-alpha08. As confirmações incluídas nessa versão podem ser encontradas neste link (link em inglês).

Versão 1.0.0-alpha08

7 de maio de 2019

Lançamento de androidx.activity:activity:1.0.0-alpha08 e androidx.activity:activity-ktx:1.0.0-alpha08. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Mudanças na API

  • Alteração importante: os métodos addOnBackPressedCallback e removeOnBackPressedCallback são obsoletos em ComponentActivity e foram removidos aosp/953857.
  • Os métodos setEnabled() e isEnabled() de OnBackPressedCallback agora são finais b/131416833.
  • O método remove() de OnBackPressedCallback agora é final aosp/952720.
  • OnBackPressedDispatcher agora tem construtores públicos, permitindo construir as próprias instâncias para testes etc. aosp/953431.
  • onBackPressed() para ComponentActivity agora é explicitamente marcado como @MainThread aosp/952721.

Correções de bugs

  • Correção de um ConcurrentModificationException ao chamar remove() de dentro do método handleOnBackPressed() de um OnBackPressedCalback que foi adicionado com um LifecycleOwner b/131765095, link em inglês

Versão 1.0.0-alpha07

25 de abril de 2019

Lançamento de androidx.activity:activity:1.0.0-alpha07 e androidx.activity:activity-ktx:1.0.0-alpha07. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Mudanças na API

Essa versão faz mudanças significativas no processamento de onBackPressed(). Consulte a documentação atualizada sobre o retorno personalizado para saber mais detalhes.

  • Os métodos para OnBackPressedCallback e OnBackPressedDispatcher foram marcados como @MainThread (aosp/943813).
  • O método handleOnBackPressed() não retorna mais um boolean. Em vez disso, OnBackPressedCallback agora é uma classe abstrata que pode ser ativada ou desativada. Somente quando o novo método isEnabled() retornar "true", handleOnBackPressed() será chamado, e será necessário lidar com o botão "Voltar". (aosp/944518).
  • Os métodos addCallback de OnBackPressedDispatcher não retornam mais uma instância Cancellable. OnBackPressedCallback agora contém um método remove() que preenche essa funcionalidade, permitindo que você chame remove() durante handleOnBackPressed(). (aosp/944519) (aosp/946316).
  • activity-ktx agora contém um callback com escopo no receptor para addCallback que aceita um lambda. Esse lambda implementa handleOnBackPressed() e tem acesso a isEnabled e a remove() (aosp/944520).

Versão 1.0.0-alpha06

3 de abril de 2019

Lançamento de androidx.activity:activity:1.0.0-alpha06 e androidx.activity:activity-ktx:1.0.0-alpha06. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Mudanças na API

  • AppCompatActivity agora contém um segundo construtor que usa um @LayoutRes int, que substitui o comportamento anterior de anotar sua classe AppCompatActivity com @ContentView. Essa abordagem funciona nos módulos do app e da biblioteca. (b/128352521).
  • O uso das APIs relacionadas a OnBackPressedCallback no ComponentActivity foi suspenso em favor do novo OnBackPressedDispatcher, recuperável por getOnBackPressedDispatcher() (aosp/922523).
  • Os métodos para adicionar um novo OnBackPressedCallback ao OnBackPressedDispatcher agora retornam um objeto Cancellable, permitindo a remoção do callback sem exigir uma referência explícita ao OnBackPressedDispatcher (aosp/922523).
  • Adicionar um OnBackPressedCallback com um LifecycleOwner associado agora resulta na adição e remoção de OnBackPressedCallback quando o ciclo de vida é iniciado e interrompido, respectivamente (aosp/922523, link em inglês)

Versão 1.0.0-alpha05

13 de março de 2019

Lançamento de androidx.activity:activity:1.0.0-alpha05 e androidx.activity:activity-ktx:1.0.0-alpha05. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link (link em inglês).

Novos recursos

  • Pesquisas da anotação @ContentView agora estão em cache (b/123709449).

Versão 1.0.0-alpha04

30 de janeiro de 2019

Lançamento de androidx.activity:activity 1.0.0-alpha04 e androidx.activity:activity-ktx 1.0.0-alpha04.

Novos recursos

  • Adição de compatibilidade com a anotação de classe @ContentView, que permite indicar qual arquivo XML de layout deve ser inflado como alternativa ao uso de setContentView() (aosp/837619).

Mudanças na API

  • Incluída uma observação de que getViewModelStore() não precisa ser modificado e que será considerado final em uma versão futura. Registre uma solicitação de recurso se você estiver modificando esse método atualmente. (aosp/837619, link em inglês)

Correções de bugs

  • O módulo activity agora depende da versão 2.1.0-alpha02 de ViewModel para corresponder à dependência do módulo activity-ktx.

Versão 1.0.0-alpha03

17 de dezembro de 2018

Lançamento do androidx.activity 1.0.0-alpha03.

Novos recursos

  • ComponentActivity agora implementa BundleSavedStateRegistryOwner e depende da recém-lançada biblioteca SavedState [aosp/815133].
  • ComponentActivity agora soluciona um bug do framework Android que fazia o InputMethodManager vazar a última visualização focada [b/37122102].

Versão 1.0.0-alpha02

3 de dezembro de 2018

Mudanças na API

Versão 1.0.0-alpha01

5 de novembro de 2018

androidx.activity 1.0.0-alpha01 apresenta ComponentActivity, uma nova classe base das existentes FragmentActivity e AppCompatActivity.

Novos recursos

  • Agora você pode registrar OnBackPressedCallback via addOnBackPressedCallback para receber callbacks onBackPressed(), sem ter que modificar o método na atividade.
  • Incluído um novo delegado da propriedade Kotlin by viewModels() para recuperar ViewModels de uma ComponentActivity.
  • Eventos de entrada pendentes, como cliques, agora são cancelados em onStop().

Mudanças na API

  • A implementação de LifecycleOwner e ViewModelStoreOwner foi movida de FragmentActivity para ComponentActivity.
  • onRetainCustomNonConfigurationInstance está obsoleto. Use um ViewModel para armazenar objetos que precisam sobreviver às mudanças de configuração.