Activity
Atualização mais recente | Versão estável atual | Próximo candidato a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
24 de fevereiro de 2021 | 1.2.0 | - | - | 1.3.0-alpha03 |
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.0" // 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.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.3.0
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çãoprovides
que pode ser usada comCompositionLocalProvider
, substituindo a APIasProvidableCompositionLocal()
(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çãoNoSuchMethodError: No static method setContent
ao usar o Compose1.0.0-alpha12
. Todos os usuários do Compose precisam usar1.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íficasandroidx.activity
.ComponentActivity.setContent
foi movido deandroidx.compose.ui.platform.setContent
paraandroidx.activity.compose.setContent
(Icf416, link em inglês).
Problemas conhecidos
- O uso do Activity Compose
1.3.0-alpha01
e bibliotecas que dependem dele, comoandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, resultarão em uma exceçãoNoSuchMethodError: No static method setContent
(b/179911234, link em inglês).
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 umActivityResultRegistry
que permite processarstartActivityForResult()
+onActivityResult()
e fluxos derequestPermissions()
+onRequestPermissionsResult()
sem substituir métodos na Activity ou no Fragment, traz maior segurança de tipo comActivityResultContract
e fornece hooks para testar esses fluxos. Veja a atualização de Como gerar resultados com uma atividade.
ContextAware
:ComponentActivity
agora implementaContextAware
, permitindo que você adicione uma ou mais instâncias deOnContextAvailableListener
que receberão um callback antes daActivity.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 doFragmentManager
. Todos os listeners adicionados às subclasses deFragmentActivity
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 deAppCompatActivity
serão executados depois desse listener.
- Uma extensão Kotlin de suspensão
Compatibilidade com
ViewTree
:ComponentActivity
agora é compatível com as APIsViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
eViewTreeSavedStateRegistryOwner
adicionadas no Lifecycle2.3.0
e no SavedState1.1.0
para retornar a atividade como oLifecycleOwner
,ViewModelStoreOwner
, eSavedStateRegistryOwner
para qualquer visualização adicionada diretamente aComponentActivity
.
- reportFullyDrawn() backport: o método
Activity
dereportFullyDrawn()
passou por um backport emComponentActivity
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 substituireportFullyDrawn()
, 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 umLifecycle
(I109ea).
Contribuição externa
- A documentação de
launch()
foi atualizada para deixar claro que ele pode gerar umaActivityNotFoundException
. 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çãoregister()
, 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 chamarunregister()
em umActivityResultLauncher
(b/165608393).
Mudanças de comportamento
- O
ActivityResultRegistry
agora gera umaIllegalStateException
ao tentar chamarregister()
com umLifecycleOwner
cujoLifecycle
já atingiu o statusSTARTED
(b/165435866).
Documentação atualizada
- A documentação de
ContextAware
está vinculada aoLifecycleOwner
para destacar callbacks deLifecycle
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 implementaContextAware
, permitindo que você adicione uma ou mais instâncias deOnContextAvailableListener
que receberão um callback antes daActivity.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 doFragmentManager
. Todos os listeners adicionados às subclasses deFragmentActivity
serão executados depois desse listener. (I513da). - Essa API é usada pela
AppCompatActivity
no AppCompat 1.3.0-alpha02. Todos os listeners adicionados às subclasses deAppCompatActivity
serão executados depois desse listener. (I513da)
- Uma extensão Kotlin de suspensão
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 Fragment1.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 contratoRequestPermission
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 acessarrequestCode
eintent
diretamente (b/157212935). ActivityResultLauncher
agora permite que você receba oActivityResultContract
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()
emActivityResultRegistry
foi renomeado comoonLaunch()
(b/157496491). - O contrato
OpenMultipleDocuments
agora retorna uma lista vazia em vez denull
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
- Inclusão de compatibilidade com
ViewTreeViewModelStoreOwner
do ciclo de vida2.3.0-alpha03
eViewTreeSavedStateRegistryOwner
do SavedState1.1.0-alpha01
ao usar umView
em umComponentActivity
(aosp/1297993, aosp/1300264, links em inglês)
Mudanças na API
- O contrato
TakePicture
agora retorna umboolean
indicando sucesso, em vez de uma miniaturaBitmap
, já que raramente era compatível com apps de câmera ao gravar a imagem noUri
fornecido (b/154302879). - As extensões
invoke()
emActivityResultLauncher
foram removidas em favor do uso explícito delaunch()
para indicar melhor que essas são operações assíncronas. As extensões Kotlin paralaunch
foram adicionadas ao pacoteandroidx.activity.result
paraActivityResultLauncher<Void>
eActivityResultLauncher<Unit>
, o que elimina a necessidade de passarnull
ouUnit
, respectivamente, espelhando esse comportamento das extensõesinvoke()
anteriores. (aosp/1304674, aosp/1304675). - Os métodos
IntentSenderRequest.Builder
parasetFlagsMask()
esetFlagsValues()
foram combinados em um único métodosetFlags()
(aosp/1302111, link em inglês)
Correções de bugs
- Ao registrar um
ActivityResultCallback
com umLifecycleOwner
, foi corrigido um problema em que o callback seria acionado antes que o estado alcançasseSTARTED
(aosp/1309744, link em inglês)
Mudanças de comportamento
- O
ActivityResultRegistry
agora gera códigos de solicitação a partir de0xFFFF
em vez de0
, impedindo a sobreposição ao usarstartActivityForResult()
ourequestPermissions()
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 comoregisterForActivityResult()
, tanto emComponentActivity
como no fragmento1.3.0-alpha04
(aosp/1278717). - Os contratos
GetContents
,OpenDocuments
eRequestPermissions
foram renomeados comoGetMultipleContents
,OpenMultipleDocuments
eRequestMultiplePermissions
, respectivamente (aosp/1280161). ComponentActivity
agora implementa a interfaceActivityResultRegisteryOwner
(aosp/1290888).- As APIs
startActivityForResult()
/onActivityResult()
eonRequestPermissionsResult()
emComponentActivity
foram suspensas. Use as APIs Activity Result. (b/154751887, link em inglês)
Correções de bugs
- Ao usar os contratos
GetMultipleContents
eOpenMultipleDocuments
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
eCreateDocument
ao conjunto de contratos pré-criados fornecidos porActivityResultContracts
(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 entradaUri
para onde a imagem será armazenada. O contrato anterior que não aceita entradas foi renomeado comoTakePicturePreview
. (aosp/1262482). - O método
registerActivityResultCallback()
emActivityResultRegistry
foi renomeado comoregister()
(aosp/1267621). - O método
dispose()
emActivityResultLauncher
foi renomeado comounregister()
e ounregisterResultCallback()
emActivityResultRegistry
foi removido (aosp/1267621). - O método
createIntent()
deActivityResultContact
agora usa umContext
além da entrada para possibilitar a criação de intents explícitas (aosp/1238800). - Um
ActivityResultContract
agora pode modificargetSynchronousResult()
para entregar um resultado sem chamarstartActivityForResult
. Isso é usado pelos contratosRequestPermission
eRequestPermissions
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 porqueIntent
não pode ser usado comstartActivityForResult()
(aosp/1266916). - Muitas das APIs Activity Result que não podem ser estendidas agora são
final
. Isso incluigetActivityResultRegistry()
, os métodosprepareCall()
, todos os métodos deActivityResultRegistry
, excetoinvoke()
, 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
emActivityResultRegistry
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 umActivityResultRegistry
que permite processar os fluxosstartActivityForResult()
+onActivityResult()
erequestPermissions()
+onRequestPermissionsResult()
sem modificar os métodos na sua atividade ou seu fragmento, aumenta a segurança do tipo viaActivityResultContract
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 vida2.3.0-alpha01
, de modo que ela retornará a atividade como oLifecycleOwner
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 queonBackPressed()
causava umaIllegalStateException
devido a um bug noandroid.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 oby viewModels()
, o construtorViewModelProvider
ouViewModelProviders.of()
com umaComponentActivity
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 SavedState1.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
- A atividade depende do Lifecycle
2.2.0-alpha04
.
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 usarby viewModels()
, o construtorViewModelProvider
ouViewModelProviders.of()
comComponentActivity
(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 vida2.2.0-alpha02
(aosp/1007817).activity-ktx
adicionou uma dependência emlifecycle-runtime-ktx
. Você não precisa mais adicioná-lo explicitamente às suas dependências ao usaractivity-ktx
ou bibliotecas que dependem deactivity-ktx
(comofragment-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 paraFragmentActivity
no fragmento1.1.0
e, por extensão,AppCompatActivity
em AppCompat1.1.0
. - activity-ktx: o módulo
activity-ktx
inclui uma extensão de propriedadeby viewModels
do Kotlin para acessar ViewModels. Este módulo é incluído automaticamente quando você adicionafragment-ktx
do fragmento1.1.0
. - OnBackPressedDispatcher: como uma alternativa composta à modificação de
onBackPressed()
, agora você pode registrar umOnBackPressedCallback
de qualquerLifecycleOwner
(como um fragmento) para interceptar eventos do botão "Voltar" do sistema. Um lambda com versão de receptoraddCallback
foi adicionado aactivity-ktx
. Consulte a página Oferecer navegação de retorno personalizada para mais detalhes. - Suspensão de uso de onRetainCustomNonConfigurationInstance:
onRetainCustomNonConfigurationInstance()
e as APIsgetLastCustomNonConfigurationInstance()
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 qualquerViewModelStoreOwner
que torne clara a propriedade dos objetos retidos e forneça um callback deonCleared()
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
eremoveOnBackPressedCallback
são obsoletos emComponentActivity
e foram removidos aosp/953857. - Os métodos
setEnabled()
eisEnabled()
deOnBackPressedCallback
agora são finais b/131416833. - O método
remove()
deOnBackPressedCallback
agora é final aosp/952720. OnBackPressedDispatcher
agora tem construtores públicos, permitindo construir as próprias instâncias para testes etc. aosp/953431.onBackPressed()
paraComponentActivity
agora é explicitamente marcado como@MainThread
aosp/952721.
Correções de bugs
- Correção de um
ConcurrentModificationException
ao chamarremove()
de dentro do métodohandleOnBackPressed()
de umOnBackPressedCalback
que foi adicionado com umLifecycleOwner
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
eOnBackPressedDispatcher
foram marcados como@MainThread
(aosp/943813). - O método
handleOnBackPressed()
não retorna mais umboolean
. Em vez disso,OnBackPressedCallback
agora é uma classe abstrata que pode ser ativada ou desativada. Somente quando o novo métodoisEnabled()
retornar "true",handleOnBackPressed()
será chamado, e será necessário lidar com o botão "Voltar". (aosp/944518). - Os métodos
addCallback
deOnBackPressedDispatcher
não retornam mais uma instânciaCancellable
.OnBackPressedCallback
agora contém um métodoremove()
que preenche essa funcionalidade, permitindo que você chameremove()
durantehandleOnBackPressed()
. (aosp/944519) (aosp/946316). activity-ktx
agora contém um callback com escopo no receptor paraaddCallback
que aceita um lambda. Esse lambda implementahandleOnBackPressed()
e tem acesso aisEnabled
e aremove()
(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 novoOnBackPressedDispatcher
, recuperável porgetOnBackPressedDispatcher()
(aosp/922523). - Os métodos para adicionar um novo
OnBackPressedCallback
aoOnBackPressedDispatcher
agora retornam um objetoCancellable
, permitindo a remoção do callback sem exigir uma referência explícita aoOnBackPressedDispatcher
(aosp/922523). - Adicionar um
OnBackPressedCallback
com umLifecycleOwner
associado agora resulta na adição e remoção deOnBackPressedCallback
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 desetContentView()
(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óduloactivity-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
- Incluída uma observação onde
getLifecycle()
não precisa ser modificado e será consideradofinal
em uma versão futura. Registre uma solicitação de recurso se você modifica esse método atualmente. (aosp/815834, link em inglês)
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
viaaddOnBackPressedCallback
para receber callbacksonBackPressed()
, sem ter que modificar o método na atividade. - Incluído um novo delegado da propriedade Kotlin
by viewModels()
para recuperarViewModel
s de umaComponentActivity
. - Eventos de entrada pendentes, como cliques, agora são cancelados em
onStop()
.
Mudanças na API
- A implementação de
LifecycleOwner
eViewModelStoreOwner
foi movida deFragmentActivity
paraComponentActivity
. onRetainCustomNonConfigurationInstance
está obsoleto. Use umViewModel
para armazenar objetos que precisam sobreviver às mudanças de configuração.