Activity
Atualização mais recente | Versão estável | Candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
15 de junho de 2022 | 1.4.0 | 1.5.0-rc01 | - | 1.6.0-alpha05 |
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 mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle
para
seu app ou módulo:
Groovy
dependencies { def activity_version = "1.4.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.4.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.6.0
Versão 1.6.0-alpha05
15 de junho de 2022
Lançamento de androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
e androidx.activity:activity-ktx:1.6.0-alpha05
. A versão 1.6.0-alpha05 foi desenvolvida em uma ramificação de pré-lançamento particular e não tem confirmações públicas.
Mudanças na API
- O
minCompileSdk
agora é 33 para se alinhar com o SDK do Tiramisu Beta 3.
Correções de bugs
- Foi corrigida uma falha em dispositivos mais antigos ao fazer a verificação de extensão do SDK para o
PickVisualMedia
ActivityResultContract
. Agora, ele funciona comACTION_OPEN_DOCUMENT
em dispositivos com Android 10 e versões anteriores.
Versão 1.6.0-alpha04
18 de maio de 2022
Lançamento de androidx.activity:activity:1.6.0-alpha04
e androidx.activity:activity-ktx:1.6.0-alpha04
.
Correções de bugs
- Foi corrigido um erro na
PickVisualMediaRequest
em que a tentativa de criar uma solicitação, seja pelo builder ou pela função do Kotlin de nível superior, resultava em uma pilha excedente. - Mudanças integradas ao Android 13 Dev Beta 2 na
ComponentDialog
.
Versão 1.6.0-alpha03
27 de abril de 2022
Lançamento de androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
e androidx.activity:activity-ktx:1.6.0-alpha03
.
- Observação: essa versão será compilada apenas com o SDK do Android 13 Developer Beta 1.
Novos recursos
- Adição de
ActivityResultContracts.PickVisualMedia
eActivityResultContracts.PickMultipleVisualMedia
para fornecer um contrato de compatibilidade com versões anteriores que usaMediaStore.ACTION_PICK_IMAGES
quando o seletor de fotos está disponível eIntent.ACTION_OPEN_DOCUMENT
quando não está. - Mudanças integradas no Android 13 Dev Beta 1 na
ComponentActivity
.
Versão 1.6.0-alpha01
23 de março de 2022
Lançamento de androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
e androidx.activity:activity-ktx:1.6.0-alpha01
.
- Observação: esta versão será compilada apenas com o SDK do Android 13 Developer Preview 2.
Novos recursos
- Mudanças integradas no Android 13 Dev Preview 2 na
ComponentActivity
.
Versão 1.5.0
Versão 1.5.0-rc01
11 de maio de 2022
Lançamento de androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
e androidx.activity:activity-ktx:1.5.0-rc01
, sem mudanças desde a versão 1.5.0-beta01. A versão 1.5.0-rc01 contém estas confirmações.
Versão 1.5.0-beta01
20 de abril de 2022
Lançamento de androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
e androidx.activity:activity-ktx:1.5.0-beta01
. A versão 1.5.0-beta01 contém estas confirmações.
Atualizações de dependência
- A Activity depende do Lifecycle
2.4.0-beta01
.
Versão 1.5.0-alpha05
6 de abril de 2022
Lançamento de androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
e androidx.activity:activity-ktx:1.5.0-alpha05
. A versão 1.5.0-alpha05 contém estas confirmações.
Correções de bugs
- O
onPanelClosed()
daComponentActivity
também chama o superonPanelClosed()
, corrigindo um problema em que o métodoonContextMenuClosed
não seria chamado (Ib6f77).
Versão 1.5.0-alpha04
23 de março de 2022
Lançamento de androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
e androidx.activity:activity-ktx:1.5.0-alpha04
. A versão 1.5.0-alpha04 contém estas confirmações.
Correções de bugs
- A
SavedStateViewFactory
agora oferece suporte ao uso deCreationExtras
mesmo quando inicializada com umSavedStateRegistryOwner
. Se extras forem fornecidos, os argumentos inicializados serão ignorados (I6c43b, b/224844583).
Versão 1.5.0-alpha03
23 de fevereiro de 2022
Lançamento de androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
e androidx.activity:activity-ktx:1.5.0-alpha03
. A versão 1.5.0-alpha03 contém estas confirmações.
Mudanças na API
- Agora você pode transmitir
CreationExtras
para a funçãoby viewModels()
da atividade (I6a3e6, b/217600303).
Versão 1.5.0-alpha02
9 de fevereiro de 2022
Lançamento de androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
e androidx.activity:activity-ktx:1.5.0-alpha02
. A versão 1.5.0-alpha02 contém estas confirmações.
Novos recursos
- A
ComponentActivity
agora implementa a interfaceOnPictureInPictureModeChangedProvider
para permitir que qualquer componente receba eventos de mudança no modo picture-in-picture (I9f567). - A
ComponentActivity
agora implementa a interfaceOnMultiWindowModeChangedProvider
para permitir que qualquer componente receba eventos de mudança no modo de várias janelas (I62d91).
Versão 1.5.0-alpha01
26 de janeiro de 2022
Lançamento de androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
e androidx.activity:activity-ktx:1.5.0-alpha01
. A versão 1.5.0-alpha01 contém estas confirmações.
Novos recursos
ComponentActivity
agora se integra ao ViewModel CreationExtras, introduzido como parte do Lifecycle2.5.0-alpha01
(Ie7e00, b/207012584).- Adição da
ComponentDialog
, uma subclasse deDialog
que inclui umOnBackPressedDispatcher
que será chamado se o botão "Voltar" do sistema for pressionado quando a caixa de diálogo estiver visível. É importante ressaltar que essa subclasse também define oViewTreeOnBackPressedDispatcherOwner
, permitindo que as visualizações tenham uma maneira genérica de extrair o agente correto, independente de ele existir em umaComponentActivity
ou umComponentDialog
(I8a1bc). ComponentActivity
agora implementa a nova interfaceOnNewIntentProvider
para permitir que qualquer componente receba esses eventos (If1f8b).ComponentActivity
agora implementa a nova interfaceOnConfigurationChangedProvider
para permitir que qualquer componente receba esses eventos (If623b).ComponentActivity
agora implementa a nova interfaceOnTrimMemoryProvider
para permitir que qualquer componente receba esses eventos (Ia9295).
Mudanças na API
- O construtor sem parâmetro para
ActivityResultContracts.CreateDocument
foi descontinuado e substituído por um novo construtor que usa um tipo MIME concreto (por exemplo,"image/png"
), conforme exigido porIntent.ACTION_CREATE_DOCUMENT
(I2bec6). - O
OnBackPressedDispatcherOwner
associado a uma visualização agora pode ser extraído peloViewTreeOnBackPressedDispatcherOwner
, em vez de depender da transmissão doContext
(I74685).
Correções de bugs
- Corrigida uma falha ao acessar um
ViewModel
pela primeira vez de um callbackregisterForActivityResult()
ou os callbacks de umLifecycleObserver
adicionado como parte dainit
de umaComponentActivity
(Ife83f).
Versão 1.4.0
Versão 1.4.0
27 de outubro de 2021
Lançamento de androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
e androidx.activity:activity-ktx:1.4.0
. A versão 1.4.0 contém estas confirmações.
Mudanças importantes desde a versão 1.3.0
- A
ComponentActivity
do AndroidX agora implementa a interfaceMenuHost
. Isso possibilita que qualquer componente adicione itens de menu àActionBar
acrescentando uma instância doMenuProvider
à atividade. CadaMenuProvider
pode ser adicionado com umLifecycle
, que controlará automaticamente a visibilidade desses itens de menu com base no estado doLifecycle
e processará a remoção doMenuProvider
quando oLifecycle
for destruído. - A classe
ActivityResultContract
foi reescrita em Kotlin para garantir que os desenvolvedores que escrevem contratos personalizados em Kotlin possam definir a nulidade correta das classes de entrada e saída. - A classe
ActivityResultContracts
e os contratos dela foram reescritos em Kotlin para garantir a nulidade correta.
Versão 1.4.0-rc01
13 de outubro de 2021
Lançamento de androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
e androidx.activity:activity-ktx:1.4.0-rc01
. A versão 1.4.0-rc01 contém estas confirmações.
Correções de bugs
- O
ActivityResultRegistry
não retornará mais um resultado para oActivityResultCallback
quando a chamadalaunch
gerar qualquerException
(If4f91, b/200845664).
Versão 1.4.0-beta01
29 de setembro de 2021
Lançamento de androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
e androidx.activity:activity-ktx:1.4.0-beta01
. A versão 1.4.0-beta01 contém estas confirmações.
Mudanças na API
- Os tipos de
ActivityResultContracts.OpenMultipleDocuments
eActivityResultContracts.GetMultipleContents
que geravam uma saída do tipoList<? extends Uri>
ao usar o código da linguagem de programação Java foram corrigidos (If71de). - Constantes públicas nas classes
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
eActivityResultContracts.RequestMultiplePermissions
agora podem ser acessadas ao usar o Kotlin com os objetosCompanion
públicos delas (aosp/1832555).
Atualizações da documentação
- As mensagens de descontinuação das APIs gerenciadas pelas APIs Activity Result, como
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
eonRequestPermissionsResult
, agora oferecem mais detalhes (cce80f).
Versão 1.4.0-alpha02
15 de setembro de 2021
Lançamento de androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
e androidx.activity:activity-ktx:1.4.0-alpha02
. A versão 1.4.0-alpha02 contém estas confirmações.
Novos recursos
- O artefato
activity-compose
agora contém um erro lintLaunchDuringComposition
que impede a chamada do métodolaunch
doActivityResultLauncher
como parte da composição, já que ela precisa ser livre de efeitos colaterais. Use as APIs para processar efeitos colaterais (7c2bbe, b/191347220).
Mudanças na API
- A classe
ActivityResultContract
foi reescrita em Kotlin para garantir que os desenvolvedores que escrevem contratos personalizados em Kotlin possam definir a nulidade correta das classes de entrada e saída (I8a8f5). - A classe
ActivityResultContracts
e os contratos dela foram reescritos em Kotlin para garantir a nulidade correta (I69802).
Versão 1.4.0-alpha01
1º de setembro de 2021
Lançamento de androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
e androidx.activity:activity-ktx:1.4.0-alpha01
. A versão 1.4.0-alpha01 contém estas confirmações.
Novos recursos
- O AndroidX
ComponentActivity
agora implementa a interfaceMenuHost
. Isso possibilita que qualquer componente adicione itens de menu àActionBar
acrescentando uma instância doMenuProvider
à atividade. CadaMenuProvider
pode ser adicionado com umLifecycle
, que controlará automaticamente a visibilidade desses itens de menu com base no estado doLifecycle
e processará a remoção doMenuProvider
quando oLifecycle
for destruído. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Mudanças de comportamento
- O
ActivityResultRegistry
agora gerará umaIllegalStateException
ao tentar chamarlaunch()
em umActivityResultLauncher
que não tenha sido registrado ou cujo registro tenha sido cancelado (Ida75d, b/192567522).
Contribuição externa
- Agradecemos a dmitrilc (link em inglês) por corrigir um erro de digitação na documentação do
ActivityResult
(#221).
Versão 1.3.1
Versão 1.3.1
4 de agosto de 2021
Lançamento de androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
e androidx.activity:activity-ktx:1.3.1
. A versão 1.3.1 contém estas confirmações.
Atualizações de dependência
- A Activity agora depende do Kotlin
1.5.21
. - A Activity Compose agora depende do Compose
1.0.1
.
Versão 1.3.0
Versão 1.3.0
28 de julho de 2021
Lançamento de androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
e androidx.activity:activity-ktx:1.3.0
. A versão 1.3.0 contém estas confirmações.
Mudanças importantes desde a versão 1.2.0
- Artefato do Activity Compose: o artefato
activity-compose
fornece o método de extensãosetContent
para hospedar a IU do Jetpack Compose em uma atividade. Ele também fornece wrappers específicos do Compose para interagir com as APIsComponentActivity
ao processar o botão "Voltar" do sistema e as APIs Activity Result. Consulte a documentação para ver mais detalhes. - Contrato CaptureVideo: o
ActivityResultContract
doCaptureVideo
substitui o contrato descontinuadoTakeVideo
e retorna um booleano indicando que a ação foi realizada corretamente. Esse booleano funciona em vários apps de câmera. - Rastreamento de hint da visualização Picture-In-Picture: os usuários de
activity-ktx
agora podem usar o método de extensãotrackPipAnimationHintView
naActivity
para recriar automaticamente osPictureInPictureParams
com a nova posição da visualização, já que ela muda de acordo com a janela.
Versão 1.3.0-rc02
14 de julho de 2021
Lançamento de androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
e androidx.activity:activity-ktx:1.3.0-rc02
. A versão 1.3.0-rc02 contém estas confirmações.
Correções de bugs
- Os callbacks
ActivityResultRegistry
agora são salvos e restaurados de maneira adequada, para que os callbacks não sejam duplicados no savedState (I97816, b/191893160).
Versão 1.3.0-rc01
1º de julho de 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
e androidx.activity:activity-ktx:1.3.0-rc01
são lançados sem mudanças desde a 1.3.0-beta02
. A versão 1.3.0-rc01 contém estas confirmações.
Versão 1.3.0-beta02
16 de junho de 2021
Lançamento de androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
e androidx.activity:activity-ktx:1.3.0-beta02
. A versão 1.3.0-beta02 contém estas confirmações.
Atualização de activity-compose
para depender do Compose 1.0.0-beta09
. O androidx.compose.ui:ui-test-junit4
agora tem uma dependência de tempo de compilação no artefato activity-compose
.
Versão 1.3.0-beta01
2 de junho de 2021
Lançamento de androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
e androidx.activity:activity-ktx:1.3.0-beta01
. A versão 1.3.0-beta01 contém estas confirmações.
Mudanças na API
- O método
@Composable registerForActivityResult()
, já descontinuado, foi removido. Use o métodorememberLauncherForActivityResult()
(Ic39d3).
Versão 1.3.0-alpha08
18 de maio de 2021
Lançamento de androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
e androidx.activity:activity-ktx:1.3.0-alpha08
. A versão 1.3.0-alpha08 contém estas confirmações.
Novos recursos
- O novo
CaptureVideo
ActivityResultContract
retorna um booleano para oActivityResultCallback
que indica se o vídeo foi salvo no URI fornecido. Isso substitui o contratoTakeVideo
descontinuado, já que os apps de câmera muito raramente são compatíveis com o retorno de um bitmap de miniaturas, o que torna o resultado inútil (Ie21f2, b/185938070). - A nova API
Activity#setPipAnimationHintView
foi adicionada para atualizar a dica de retângulo de origem do PipParams sempre que a visualização se move (I9063d).
Mudanças na API
- A função
rememberLauncherForActivityResult
agora retorna uma tela de início que descontinua o uso da funçãounregister()
. O registro e o cancelamento do registro da tela de início é processado automaticamente porrememberLauncherForActivityResult
(I2443e).
Compatibilidade do Compose
androidx.activity:activity-compose:1.3.0-alpha08
só é compatível com a versão1.0.0-beta07
do Compose e mais recentes.
Versão 1.3.0-alpha07
21 de abril de 2021
Lançamento de androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
e androidx.activity:activity-ktx:1.3.0-alpha07
. A versão 1.3.0-alpha07 contém estas confirmações.
Correções de bugs
rememberLauncherForActivityResult
agora retorna uma referência estável para a mesma instância deActivityResultLauncher
, mesmo que o contrato mude devido a recomposições (Id2d6d).- O uso de versões instáveis dos fragmentos acima de
1.3.0
deixará de gerar um erro lint falso positivo que instrui você a usar1.3.0
(aosp/1670206, b/184847092).
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 estas confirmações.
Mudanças na API
- A API
registerForActivityResult()
foi renomeada comorememberLauncherForActivityResult()
para indicar melhor que oActivityResultLauncher
retornado é um objeto gerenciado que é lembrado para você. A tentativa de chamarunregister
doActivityResultLauncher
retornado agora emitirá um erro (I2bb6d). LocalOnBackPressedDispatcherOwner.current
eLocalActivityResultRegistryOwner.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, comoBackHandler
erememberLauncherForActivityResult()
, respectivamente, passarão a gerar um erro mais descritivo se o proprietário não for encontrado.NavHost
agora funciona mesmo quando umOnBackPressedDispatcherOwner
não é encontrado, como esse é o caso ao visualizar oNavHost
(I7d8b4).
Correções de bugs
- O
BackHandler
agora vai interceptar corretamente os pressionamentos para voltar caso a atividade sejaSTOPPED
(encerrada), depoisSTARTED
(iniciada) novamente e outros callbacks forem adicionados com um LifecycleOwner (I71de6, b/182284739). - Usar a extensão do método
launch()
com umActivityResultContract
personalizado que tem uma entradaUnit
não causará mais umaNullPointerException
(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 umaClassNotFoundException
ao iniciar umaIntent
de umActivityResultContract
que estava retido como um extra em outraIntent
(Ieff05, b/182906230).
Atualizações de dependência
- A partir da Activity 1.2.2: a Activity agora depende do Lifecycle
2.3.1
.
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). - Na Activity
1.2.1
:ActivityResultRegistry
agora garante que as solicitaçõeslaunch()
em andamento retornarão os resultados mesmo que vocêunregister()
(cancele o registro), depois asregister()
(registre) 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 lambdaonBack
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çãoprovides
que pode ser usada com oCompositionLocalProvider
, 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 estas confirmações.
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).
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).
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 estas confirmações.
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).
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).
Versão 1.2.4
Versão 1.2.4
21 de julho de 2021
Lançamento de androidx.activity:activity:1.2.4
e androidx.activity:activity-ktx:1.2.4
. A versão 1.2.4 contém estas confirmações.
Correções de bugs
- A partir da Activity
1.3.0-rc02
: os callbacks ActivityResultRegistry agora são salvos e restaurados corretamente, para que não sejam duplicados no savedState (I97816, b/191893160).
Versão 1.2.3
Versão 1.2.3
5 de maio de 2021
Lançamento de androidx.activity:activity:1.2.3
e androidx.activity:activity-ktx:1.2.3
. A versão 1.2.3 contém estas confirmações.
Correções de bugs
- Usar a extensão do método
launch()
com umActivityResultContract
personalizado que tem uma entradaUnit
não causará mais umaNullPointerException
(I76282 .b/183837954). - Foi corrigido um erro de lint falso positivo que dizia para usar a versão
1.3.0
do Fragment ao usar um build de snapshot, Alfa, Beta ou RC de uma versão mais recente de Fragments (f4a57e, b/184847092).
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 umaClassNotFoundException
ao iniciar umaIntent
de umActivityResultContract
que era mantido como um extra em outraIntent
(Ieff05, b/182906230).
Atualizações de dependência
- A Activity agora depende do Lifecycle
2.3.1
.
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çõeslaunch()
em andamento retornarão os resultados mesmo que vocêunregister()
(cancele o registro), depois asregister()
(registre) 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 estas 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 ver um resultado de uma atividade.
ContextAware
:ComponentActivity
agora implementaContextAware
, permitindo que você adicione uma ou mais instâncias deOnContextAvailableListener
que recebem um callback antes daActivity.onCreate()
base.- 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 para restaurar o estado doFragmentManager
. Todos os listeners adicionados às subclasses daFragmentActivity
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 daAppCompatActivity
serão executados depois desse listener.
- Uma extensão Kotlin de suspensão
Suporte a
ViewTree
: aComponentActivity
agora oferece suporte às APIsViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
eViewTreeSavedStateRegistryOwner
adicionadas no Lifecycle2.3.0
e SavedState1.1.0
para retornar a atividade como oLifecycleOwner
,ViewModelStoreOwner
eSavedStateRegistryOwner
para qualquer visualização adicionada diretamente àComponentActivity
.
- Backport de reportFullyDrawn(): o método
Activity
dereportFullyDrawn()
passou por um backport naComponentActivity
para funcionar em todos os níveis de API, corrigindo uma falha na API 19 e adicionando o rastreamento desse 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
- A
ComponentActivity
agora substitui o métodoreportFullyDrawn()
, permitindo que ele seja chamado em todos os níveis da API e corrigindo uma falha ao chamar esse método sem a permissão adequada do sistema nos dispositivos com a 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 quando ele está 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 estas confirmações.
Novos recursos
- A
ComponentActivity
agora implementaContextAware
, permitindo que você adicione uma ou mais instâncias deOnContextAvailableListener
que recebem um callback antes daActivity.onCreate()
base (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 Fragment 1.3.0-alpha08 para restaurar o estado doFragmentManager
. Todos os listeners adicionados às subclasses daFragmentActivity
serão executados depois desse listener (I513da). - Essa API é usada pela
AppCompatActivity
no AppCompat 1.3.0-alpha02. Todos os listeners adicionados às subclasses daAppCompatActivity
serão executados depois desse listener (I513da).
- Uma extensão Kotlin de suspensão
Correções de bugs
- 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 foi corrigido (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 estas confirmações.
Novos recursos
- Foi incluída 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 durante a 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 Fragments (b/152554847).
Contribuição externa
- Correção de um
ArrayIndexOutOfBoundsException
ao analisar os resultados para o contrato de Activity ResultRequestPermission
(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 estas confirmações.
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).
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 caso nenhum resultado seja retornado (b/157348014).
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 estas confirmações.
Novos recursos
- Foi adicionado suporte à classe
ViewTreeViewModelStoreOwner
do Lifecycle2.3.0-alpha03
e àViewTreeSavedStateRegistryOwner
do SavedState1.1.0-alpha01
ao usar umaView
em umaComponentActivity
(aosp/1297993, aosp/1300264).
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 transmitirnull
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).
Mudanças de comportamento
- O
ActivityResultRegistry
agora gera códigos de solicitação com base em0xFFFF
em vez de0
, impedindo a sobreposição ao usarstartActivityForResult()
ourequestPermissions()
em uma atividade (aosp/1302324).
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 estas confirmações.
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()
naComponentActivity
foram descontinuadas. 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 vai ser retornado corretamente ao 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 estas confirmações.
Novos recursos
- Adição dos contratos
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
eCreateDocument
ao conjunto de contratos pré-criados fornecidos porActivityResultContracts
(aosp/1262482, aosp/1266916, aosp/1268960). - As APIs Activity Result agora oferecem suporte à inicialização de uma atividade de resultado com
ActivityOptionsCompat
opcionais (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()
naActivityResultLauncher
foi renomeado comounregister()
, e ounregisterResultCallback()
naActivityResultRegistry
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 mostrar 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 têm suporte a extras opcionais (b/152439361, link em inglês).
Correções de bugs
- Uma
NullPointerException
noActivityResultRegistry
ao tentar entregar resultados a um callback que ainda não foi registrado novamente após uma mudança de configuração foi corrigida. OActivityResultRegistry
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 estas confirmações.
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 ver um resultado de 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 estas confirmações.
Novos recursos
- Foi incluído suporte à API
ViewTreeLifecycleOwner.get(View)
adicionada no Lifecycle2.3.0-alpha01
. Ela vai retornar a atividade como oLifecycleOwner
para qualquer visualização adicionada diretamente à atividade (aosp/1182955, link em inglês).
Correções de bugs
- Foi corrigida uma regressão introduzida na Activity
1.1.0
quando executada em versões mais antigas da plataforma em que o métodoonBackPressed()
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.1.0 contém estas confirmações.
Mudanças importantes desde a versão 1.0.0
- Integração do ciclo de vida ViewModel SavedState: a
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 estas confirmações.
Mudanças na dependência
- Agora, a atividade depende do Lifecycle
2.2.0-rc03
e do Lifecycle 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.1.0-rc02 contém estas confirmações.
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.1.0-rc01 contém estas confirmações.
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.1.0-beta01 contém estas confirmações.
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 neste link.
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 neste link.
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 neste link.
Novos recursos
activity
agora depende do Lifecycle2.2.0-alpha02
(aosp/1007817).- O
activity-ktx
adicionou uma dependência nolifecycle-runtime-ktx
. Ele não precisa mais ser adicionado explicitamente às suas dependências ao usar oactivity-ktx
ou bibliotecas que dependem doactivity-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.
Principais recursos do 1.0.0
- ComponentActivity:
ComponentActivity
serve como a nova classe base paraFragmentActivity
no Fragment1.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 Fragment1.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. - Descontinuação de onRetainCustomNonConfigurationInstance: o método
onRetainCustomNonConfigurationInstance()
e as APIsgetLastCustomNonConfigurationInstance()
relacionadas foram descontinuados. É 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.
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.
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 neste link.
Mudanças na API
- Alteração interruptiva: os métodos
addOnBackPressedCallback
eremoveOnBackPressedCallback
anteriormente descontinuados naComponentActivity
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
- Foi corrigida uma
ConcurrentModificationException
que ocorria ao chamarremove()
de dentro do métodohandleOnBackPressed()
de umOnBackPressedCalback
que foi adicionado com umLifecycleOwner
(b/131765095).
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 neste link.
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
. Agora,OnBackPressedCallback
é uma classe abstrata que pode ser ativada ou desativada. O métodohandleOnBackPressed()
vai ser chamado apenas quando o novo métodoisEnabled()
retornar um valor "true" (verdadeiro) e é necessário lidar com o botão "Voltar" (aosp/944518). - Os métodos
addCallback
deOnBackPressedDispatcher
não retornam mais uma instânciaCancellable
. A classeOnBackPressedCallback
agora contém um métodoremove()
que preenche essa funcionalidade, permitindo que você chameremove()
durante ohandleOnBackPressed()
(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 neste link.
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). - As APIs relacionadas à classe
OnBackPressedCallback
na ComponentActivity foram descontinuadas e substituídas pela novaOnBackPressedDispatcher
, que pode ser recuperada comgetOnBackPressedDispatcher()
(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.
Novos recursos
- Pesquisas da anotação
@ContentView
agora são armazenadas 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 substituindo esse método atualmente (aosp/837619).
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 de 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
- Foi incluída uma observação de que o
getLifecycle()
não precisa ser substituído e será consideradofinal
em uma versão futura. Registre uma solicitação de recurso se você estiver substituindo esse método (aosp/815834).
Versão 1.0.0-alpha01
5 de novembro de 2018
androidx.activity 1.0.0-alpha01
apresenta
ComponentActivity
, uma nova classe base das FragmentActivity
e AppCompatActivity
existentes.
Novos recursos
- Agora você pode registrar a classe
OnBackPressedCallback
viaaddOnBackPressedCallback
para receber callbacksonBackPressed()
sem ter que substituir 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
. - O uso de
onRetainCustomNonConfigurationInstance
foi descontinuado. Use umViewModel
para armazenar objetos que precisam sobreviver às mudanças de configuração.