アクティビティ
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2025 年 9 月 24 日 | 1.11.0 | - | - | 1.12.0-alpha09 |
依存関係の宣言
Activity への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { def activity_version = "1.11.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.11.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.12
バージョン 1.12.0-alpha09
2025 年 9 月 24 日
androidx.activity:activity:1.12.0-alpha09、androidx.activity:activity-compose:1.12.0-alpha09、androidx.activity:activity-ktx:1.12.0-alpha09 がリリースされました。バージョン 1.12.0-alpha09 にはこれらの commit が含まれています。
依存関係の変更
- Activity が Navigation Event 1.0.0-alpha08 に依存するようになりました。
バージョン 1.12.0-alpha08
2025 年 9 月 10 日
androidx.activity:activity:1.12.0-alpha08、androidx.activity:activity-compose:1.12.0-alpha08、androidx.activity:activity-ktx:1.12.0-alpha08 がリリースされました。バージョン 1.12.0-alpha08 にはこれらの commit が含まれています。
依存関係の更新
- Activity が Navigation Event 1.0.0-alpha08 に依存するようになりました。
バージョン 1.12.0-alpha07
2025 年 8 月 27 日
androidx.activity:activity:1.12.0-alpha07、androidx.activity:activity-compose:1.12.0-alpha07、androidx.activity:activity-ktx:1.12.0-alpha07 がリリースされました。バージョン 1.12.0-alpha07 にはこれらの commit が含まれています。
バグの修正
- API 35 の
EdgeToEdgeで、非表示のビューが原因で予期しない測定インセットが発生する問題を修正しました。(If49ff)
依存関係の更新
- Activity が Navigation Event
1.0.0-alpha07に依存するようになりました。
バージョン 1.12.0-alpha06
2025 年 8 月 13 日
androidx.activity:activity:1.12.0-alpha06、androidx.activity:activity-compose:1.12.0-alpha06、androidx.activity:activity-ktx:1.12.0-alpha06 がリリースされました。バージョン 1.12.0-alpha06 にはこれらの commit が含まれています。
MinSdk の更新
- AndroidX のデフォルトの
minSdkが API 21 から API 23 に移動しました(Ibdfca、b/380448311、b/435705964、b/435705223)
ドキュメントの更新情報
PredictiveBackHandlerの KDoc を更新し、無効化された同じフレーム内でジェスチャーを処理する可能性がある既知のタイミングの問題を明記しました。(I5be5c、b/431534103)BackHandlerとPredictiveBackHandlerの KDoc を更新し、enabledフラグを使用した無条件のコンポジションを推奨することに加えて、「最後にコンポーズされたものが優先される」という動作を明示的に記述しました。(I7ab94)
依存関係の更新
- Activity が Navigation Event
1.0.0-alpha06に依存するようになりました。
バージョン 1.12.0-alpha05
2025 年 7 月 30 日
androidx.activity:activity:1.12.0-alpha05、androidx.activity:activity-compose:1.12.0-alpha05、androidx.activity:activity-ktx:1.12.0-alpha05 がリリースされました。バージョン 1.12.0-alpha05 にはこれらの commit が含まれています。
依存関係の更新
- Activity が Navigation Event
1.0.0-alpha05に依存するようになりました。
バージョン 1.12.0-alpha04
2025 年 7 月 2 日
androidx.activity:activity:1.12.0-alpha04、androidx.activity:activity-compose:1.12.0-alpha04、androidx.activity:activity-ktx:1.12.0-alpha04 がリリースされました。バージョン 1.12.0-alpha04 にはこれらの commit が含まれています。
依存関係の変更
- Activity が NavigationEvent Alpha04 に依存するようになりました
バージョン 1.12.0-alpha03
2025 年 6 月 18 日
androidx.activity:activity:1.12.0-alpha03、androidx.activity:activity-compose:1.12.0-alpha03、androidx.activity:activity-ktx:1.12.0-alpha03 がリリースされました。バージョン 1.12.0-alpha03 には、これらの commit が含まれています。
バグの修正
OnBackPressedDispatcherとNavigationEventDispatcherの両方がComponentActivityで遅延初期化されるようになりました。(I710e6)OnBackPressedDistpatcherに関する以下の問題を修正しました。OnBackPressedCallbackの最新のディスパッチャーのみが、有効状態の通知を受け取る対象に追加されました(b/418715930)- ライフサイクルを取得する
addCallback関数を使用すると、OnBackPressedDispatcherが誤ったコールバックを削除します。(b/422714753) OnBackPressedDispatcher.remove()は、登録されたOnBackPressedCallbackのすべてのインスタンスを削除しません。(b/423024414)
バージョン 1.12.0-alpha02
2025 年 6 月 4 日
androidx.activity:activity:1.12.0-alpha02、androidx.activity:activity-compose:1.12.0-alpha02、androidx.activity:activity-ktx:1.12.0-alpha02 がリリースされました。バージョン 1.12.0-alpha02 には、これらの commit が含まれています。
バグの修正
- NavigationEvent
1.0.0-alpha02: 閉じることができるものの内部リストを同時に変更したためにNavigationEventCallback.remove()が呼び出された場合に発生するConcurrentModificationExceptionを修正しました。(I63066)
バージョン 1.12.0-alpha01
2025 年 5 月 20 日
androidx.activity:activity:1.12.0-alpha01、androidx.activity:activity-compose:1.12.0-alpha01、androidx.activity:activity-ktx:1.12.0-alpha01 がリリースされました。バージョン 1.12.0-alpha01 にはこれらの commit が含まれています。
新機能
ComponentActivityとComponentDialogは、NavigationEventDispatcherOwnerAPI を介して NavigationEvent1.0.0-alpha01と統合されました。navigationEventDispatcherフィールドを介して、ComponentActivityからNavigationEventDispatcherを取得できるようになりました。OnBackPressedDispatcherは新しいライブラリの上に書き直されているため、以前のすべての使用法は引き続き正しく機能します。今後はNavigationEventDispatcherとNavigationEventCallbackを使用してください。(Ib8eed、I6cc44、Ib7724、I9a0f7、b/412597031、b/415028038、b/412596729、b/412597140、b/412596012)
バージョン 1.11
バージョン 1.11.0
2025 年 9 月 10 日
androidx.activity:activity:1.11.0、androidx.activity:activity-compose:1.11.0、androidx.activity:activity-ktx:1.11.0 がリリースされました。バージョン 1.11.0 にはこれらの commit が含まれています。
1.10.0 以降の重要な変更:
PickVisualMediaRequestにMediaCapabilitiesAPI を追加し、サポートされている HDR タイプなどのメディア機能をアプリケーションで指定できるようにしました。- Activity が API 36 でコンパイルされるようになりました。
バージョン 1.11.0-rc01
2025 年 4 月 23 日
androidx.activity:activity:1.11.0-rc01、androidx.activity:activity-compose:1.11.0-rc01、androidx.activity:activity-ktx:1.11.0-rc01 がリリースされました。バージョン 1.11.0-rc01 にはこれらの commit が含まれています。
バージョン 1.11.0-beta01
2025 年 4 月 9 日
androidx.activity:activity:1.11.0-beta01、androidx.activity:activity-compose:1.11.0-beta01、androidx.activity:activity-ktx:1.11.0-beta01 がリリースされました。バージョン 1.11.0-beta01 にはこれらの commit が含まれています。
バージョン 1.11.0-alpha02
2025 年 3 月 26 日
androidx.activity:activity:1.11.0-alpha02、androidx.activity:activity-compose:1.11.0-alpha02、androidx.activity:activity-ktx:1.11.0-alpha02 がリリースされました。バージョン 1.11.0-alpha02 には、これらの commit が含まれています。
API の変更
- Android 16 Beta03 の新しい
EDGE_NONEとframeTimeMillisを、OnBackPressedCallbackのhandleOnBackStarted関数とhandleOnBackProgressed関数によって提供されるBackEventCompatに統合しました。
依存関係の更新
- Activity が API 36 でコンパイルされるようになりました。(I510e8、b/301910674)
バージョン 1.11.0-alpha01
2025 年 3 月 12 日
androidx.activity:activity:1.11.0-alpha01、androidx.activity:activity-compose:1.11.0-alpha01、androidx.activity:activity-ktx:1.11.0-alpha01 がリリースされました。バージョン 1.11.0-alpha01 にはこれらの commit が含まれています。
新機能
PickVisualMediaRequestにMediaCapabilitiesAPI を追加し、サポートされている HDR タイプなどのメディア機能をアプリケーションで指定できるようにしました。(Ic3ee7)
バージョン 1.10
バージョン 1.10.1
2025 年 2 月 26 日
androidx.activity:activity:1.10.1、androidx.activity:activity-compose:1.10.1、androidx.activity:activity-ktx:1.10.1 がリリースされました。バージョン 1.10.1 にはこれらの commit が含まれています。
バグの修正
ViewTreeOnBackPressedDispatcherOwnersとFullyDrawnReporterOwnersは、ViewOverlayなどのビューの分離された親を介して解決できるようになりました。分離ビューの親について詳しくは、core のリリースノートまたはViewTree.setViewTreeDisjointParentのドキュメントをご覧ください。(Ie7750)
バージョン 1.10.0
2025 年 1 月 15 日
androidx.activity:activity:1.10.0、androidx.activity:activity-compose:1.10.0、androidx.activity:activity-ktx:1.10.0 がリリースされました。バージョン 1.10.0 にはこれらの commit が含まれています。
1.9.0 以降の重要な変更
PhotoPickerで、画像の順序を選択したり、最初に表示するタブ(アルバムまたは画像)を選択したりできるようになりました。- 写真選択ツールをトリガーする
PickVisualMediaとPickMultipleVisualMediaの Activity Result コントラクトは、システム写真選択ツールが利用できない場合、Google Play サービスに直接委任しなくなりました。代わりに、パブリックACTION_SYSTEM_FALLBACK_PICK_IMAGESアクションと関連するエクストラを使用して、OEM とシステムアプリに一貫した写真選択ツールのエクスペリエンスをフォールバックとして提供します。 - 現在のスコープの
Activityを提供する新しいLocalActivityコンポジション ローカル。これにより、デベロッパーがLocalContextからActivityを取得する必要がなくなります。
バージョン 1.10.0-rc01
2024 年 12 月 11 日
androidx.activity:activity:1.10.0-rc01、androidx.activity:activity-compose:1.10.0-rc01、androidx.activity:activity-ktx:1.10.0-rc01 がリリースされました。バージョン 1.10.0-rc01 にはこれらの commit が含まれています。
バグの修正
PredictiveBackHandlerが現在アクティブな状態で有効状態を変更すると、コールバックがすぐにショートカットされる問題を修正しました。これにより、有効ステータスの変更に関係なく、現在のコールバックが完了します。(Ib8719)
バージョン 1.10.0-beta01
2024 年 11 月 13 日
androidx.activity:activity:1.10.0-beta01、androidx.activity:activity-compose:1.10.0-beta01、androidx.activity:activity-ktx:1.10.0-beta01 がリリースされました。前回のアルファ版からの変更はありません。バージョン 1.10.0-beta01 にはこれらの commit が含まれています。
バージョン 1.10.0-alpha03
2024 年 10 月 30 日
androidx.activity:activity:1.10.0-alpha03、androidx.activity:activity-compose:1.10.0-alpha03、androidx.activity:activity-ktx:1.10.0-alpha03 がリリースされました。バージョン 1.10.0-alpha03 には、これらの commit が含まれています。
API の変更
- 現在のスコープの
Activityを提供する新しいLocalActivityコンポジション ローカルを追加しました。これにより、デベロッパーがLocalContextからActivityを取得する必要がなくなりました。また、LocalContextがActivityに誤ってキャストされているかどうかをチェックする新しい lint ルールも付属しています。(I7746a、b/283009666)
バグの修正
- Activity
1.9.3以降: ハンドラが無効になった後、PredictiveBackHandlerがコールバックをトリガーしなくなりました。これにより、Navigation Compose のNavHostがIndexOutOfBoundsExceptionをスローする問題が修正されます。(I3f75e、b/365027664、b/340202286)
依存関係の更新
- Activity Compose が Compose Runtime 1.7.0 に依存するようになりました(I7746a、b/283009666)
バージョン 1.10.0-alpha02
2024 年 9 月 4 日
androidx.activity:activity:1.10.0-alpha02、androidx.activity:activity-compose:1.10.0-alpha02、androidx.activity:activity-ktx:1.10.0-alpha02 がリリースされました。バージョン 1.10.0-alpha02 には、これらの commit が含まれています。
動作の変更
- 写真選択ツールをトリガーする
PickVisualMediaとPickMultipleVisualMediaの Activity Result コントラクトは、システム写真選択ツールが利用できない場合、Google Play サービスに直接委任しなくなりました。代わりに、パブリックACTION_SYSTEM_FALLBACK_PICK_IMAGESアクションと関連するエクストラを使用して、OEM とシステムアプリに一貫した写真選択ツールのエクスペリエンスをフォールバックとして提供します。Google Play 開発者サービスの最新バージョンを搭載しているデバイスのユーザー エクスペリエンスには影響しません。(I3513d)
バグの修正
- AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)ですべてのビルドで、API モデリングを介して自動的に行われるため、新しいプラットフォーム API へのアクセスの手動でのアウトライン設定を削除しました。AGP を使用していないクライアントは、D8 バージョン 8.1 以降に更新することをおすすめします。詳しくは、こちらの記事をご覧ください。(I9496c、b/345472586)
- Activity
1.9.2以降: Activity ComposePredictiveBackHandlerAPI が無効になったフレームでシステムの [戻る] ジェスチャーを処理し続ける問題を修正しました。これにより、Navigation Compose などのライブラリがバックスタックが空の場合でも [戻る] を処理し、IndexOutOfBoundsExceptionをスローする可能性があります。(Ie3301、b/340202286) - アクティビティ
1.9.1:PredictiveBackHandlerに関する問題を修正しました。システムで戻る操作を行った後、OnBackPressedDispatcherからonBackPressedを実行しようとすると失敗します。(I5f1f8)
バージョン 1.10.0-alpha01
2024 年 6 月 26 日
androidx.activity:activity:1.10.0-alpha01、androidx.activity:activity-compose:1.10.0-alpha01、androidx.activity:activity-ktx:1.10.0-alpha01 がリリースされました。このバージョンは内部ブランチで開発されています。
新機能
- Android V で導入された新しい
PhotoPicker機能のサポートを追加しました。たとえば、画像を順番に選択したり、最初に表示するタブ(アルバムまたは画像)を選択したりできます。
バージョン 1.9
バージョン 1.9.3
2024 年 10 月 16 日
androidx.activity:activity:1.9.3、androidx.activity:activity-compose:1.9.3、androidx.activity:activity-ktx:1.9.3 がリリースされました。バージョン 1.9.3 にはこれらの commit が含まれています。
バグの修正
- ハンドラが無効になった後、
PredictiveBackHandlerがコールバックをトリガーしなくなりました。これにより、Navigation Compose のNavHostがIndexOutOfBoundsExceptionをスローする問題が修正されます。(I3f75e、b/340202286)
バージョン 1.9.2
2024 年 9 月 4 日
androidx.activity:activity:1.9.2、androidx.activity:activity-compose:1.9.2、androidx.activity:activity-ktx:1.9.2 がリリースされました。バージョン 1.9.2 には、これらの lthcocommits が含まれています。
バグの修正
- Activity Compose の
PredictiveBackHandlerAPI が、無効になったフレームでシステムの [戻る] ジェスチャーの処理を継続し、Navigation Compose などのライブラリがバックスタックが空の場合でも [戻る] を処理し、IndexOutOfBoundsExceptionをスローする可能性がある問題を修正しました。(Ie3301、b/340202286)
バージョン 1.9.1
2024 年 7 月 24 日
androidx.activity:activity:1.9.1、androidx.activity:activity-compose:1.9.1、androidx.activity:activity-ktx:1.9.1 がリリースされました。バージョン 1.9.1 にはこれらの commit が含まれています。
バグの修正
PredictiveBackHandlerで、システム [戻る] の後にOnBackPressedDispatcherからonBackPressedを実行しようとすると失敗する問題を修正しました。(I5f1f8)
バージョン 1.9.0
2024 年 4 月 17 日
androidx.activity:activity:1.9.0、androidx.activity:activity-compose:1.9.0、androidx.activity:activity-ktx:1.9.0 がリリースされました。バージョン 1.9.0 にはこれらの commit が含まれています。
1.8.0 以降の重要な変更
ComponentActivityがOnUserLeaveHintProviderを実装し、コンポーネントがonUserLeaveHintイベントのコールバックを行えるようになりました。OnBackPressedCallback、BackHandler、PredictiveBackHandlerAPI は、戻る操作を処理する際にonBackPressedDispatcher.onBackPressed()を呼び出すと警告を出すようになりました。これは、常に予測型「戻る」アニメーションを中断するためです。詳しくは、ベスト プラクティス ガイドをご覧ください。- Activity API の残りの部分が Kotlin で書き直され、以前
activity-ktxで利用可能だったすべての拡張機能がactivityに移動しました。activity-ktxが完全に空になりました。ActivityResultLauncherを Kotlin に変換する一環として、getContractメソッドが抽象 Kotlin プロパティになりました。これはバイナリ互換性のある変更ですが、ActivityResultLauncherの実装が Kotlin で記述されている場合はソース互換性が破られます。
バージョン 1.9.0-rc01
2024 年 4 月 3 日
androidx.activity:activity:1.9.0-rc01、androidx.activity:activity-compose:1.9.0-rc01、androidx.activity:activity-ktx:1.9.0-rc01 がリリースされました。バージョン 1.9.0-rc01 には、これらの commit が含まれています。
依存関係の更新
- Activity が Profile Installer 1.3.1 に依存するようになりました。
バージョン 1.9.0-beta01
2024 年 3 月 20 日
androidx.activity:activity:1.9.0-beta01、androidx.activity:activity-compose:1.9.0-beta01、androidx.activity:activity-ktx:1.9.0-beta01 がリリースされました。バージョン 1.9.0-beta01 には、これらの commit が含まれています。
バグの修正
- Activity
1.9.0-alpha02で発生するアクティビティ起動パフォーマンスの回帰を修正しました。この回帰は、アクティビティの作成の一部としてOnBackPressedDispatcherを呼び出すことが原因で発生していました。(Ie75e3)
バージョン 1.9.0-alpha03
2024 年 2 月 7 日
androidx.activity:activity:1.9.0-alpha03、androidx.activity:activity-compose:1.9.0-alpha03、androidx.activity:activity-ktx:1.9.0-alpha03 がリリースされました。バージョン 1.9.0-alpha03 に含まれる commit については、こちらをご覧ください。
Lint の警告
OnBackPressedCallback、BackHandler、PredictiveBackHandlerAPI は、戻る操作を処理する際にonBackPressedDispatcher.onBackPressed()を呼び出すと警告を出すようになりました。これは、常に予測型「戻る」アニメーションを中断するためです。詳しくは、ベスト プラクティス ガイドをご覧ください。(1e4222、2c950d、b/287505200)
バグの修正
- 予測型「戻る」ジェスチャーがすでに実行されている間に、システムから「戻る」イベントが送信されると、現在実行中の予測型「戻る」ジェスチャーはキャンセルされ、新しい「戻る」イベントが引き継いで新しい予測型「戻る」ジェスチャーが開始されます。(I3482e)
- バックグラウンド スレッドから
ComponentActivityを介してonBackPressedDispatcherに初めてアクセスする際のクラッシュを修正しました。これで、どのスレッドからでもonBackPressedDispatcherに安全にアクセスできるようになりました。(I79955)
バージョン 1.9.0-alpha02
2024 年 1 月 24 日
androidx.activity:activity:1.9.0-alpha02、androidx.activity:activity-compose:1.9.0-alpha02、androidx.activity:activity-ktx:1.9.0-alpha02 がリリースされました。バージョン 1.9.0-alpha02 に含まれる commit については、こちらをご覧ください。
Kotlin 変換
ActivityResultRegistryが Kotlin で書き換えられました。これにより、registerに渡されたコントラクトのジェネリクスの null 可能性が、返されるActivityResultLauncherに正しく渡されます。(I121f0)ActivityResultが Kotlin で書き換えられました。resultCodeフィールドとdataフィールドへの分割代入をサポートするActivityResultKotlin 拡張機能がactivity-ktxからactivityに移動しました。(I0565a)ComponentActivityとtrackPipAnimationHintViewのby viewModels()の Kotlin 拡張機能がactivity-ktxからactivityに移動しました。activity-ktxアーティファクトは完全に空になりました。(I0a444)
バグの修正
enableEdgeToEdgeAPI がディスプレイ カットアウトの周囲に描画するようになりました。(a3644b、b/311173461)- Activity
1.8.2以降: Photo Picker Activity Contract のACTION_SYSTEM_FALLBACK_PICK_IMAGESに渡されるエクストラを修正し、キー"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"のエクストラを使用するのではなく、正しくEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXキーを渡すようにしました。システム フォールバック写真選択ツールを実装する OEM は、幅広い互換性を確保するために、両方のエクストラをサポートすることを強く推奨します。(I96a00)
バージョン 1.9.0-alpha01
2023 年 11 月 29 日
androidx.activity:activity:1.9.0-alpha01、androidx.activity:activity-compose:1.9.0-alpha01、androidx.activity:activity-ktx:1.9.0-alpha01 がリリースされました。バージョン 1.9.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
ComponentActivityがOnUserLeaveHintProviderを実装し、コンポーネントがonUserLeaveHintイベントのコールバックを行えるようになりました。(I54892)
API の変更
ComponentActivityが Kotlin で書き換えられました。(I14f31)ActivityResultCallerが Kotlin で書き換えられました。(Ib02e4)ActivityResultLauncherが Kotlin で書き換えられました。この変換の一環として、getContractメソッドが抽象 Kotlin プロパティになりました。これはバイナリ互換性のある変更ですが、ActivityResultLauncherの実装が Kotlin で記述されている場合はソース互換性が破られます。(Id4615)PickVisualMediaRequestの最小 API レベルは、PickVisualMediaActivity Result コントラクトと同じ 19 になりました。(Id6e21)
依存関係の更新
- Activity が Core
1.13.0-alpha01に依存するようになりました。(I14f31)
バージョン 1.8
バージョン 1.8.2
2023 年 12 月 13 日
androidx.activity:activity:1.8.2、androidx.activity:activity-compose:1.8.2、androidx.activity:activity-ktx:1.8.2 がリリースされました。バージョン 1.8.2 に含まれる commit については、こちらをご覧ください。
バグの修正
- 写真選択ツール アクティビティ コントラクトの
ACTION_SYSTEM_FALLBACK_PICK_IMAGESに渡されるエクストラを修正し、キー"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"のエクストラを使用するのではなく、キーEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXを正しく渡すようにしました。システム フォールバック写真選択ツールを実装する OEM は、幅広い互換性を確保するために、両方のエクストラをサポートすることを強く推奨します。(I96a00)
バージョン 1.8.1
2023 年 11 月 15 日
androidx.activity:activity:1.8.1、androidx.activity:activity-compose:1.8.1、androidx.activity:activity-ktx:1.8.1 がリリースされました。バージョン 1.8.1 に含まれる commit については、こちらをご覧ください。
バグの修正
- バック ジェスチャーの処理中に新しい
OnBackPressedCallbackが追加された後でも、OnBackPressedDispatcherが正しいOnBackPressedCallbackにディスパッチし続けるようになりました。(Id0ff6)
バージョン 1.8.0
2023 年 10 月 4 日
androidx.activity:activity:1.8.0、androidx.activity:activity-compose:1.8.0、androidx.activity:activity-ktx:1.8.0 がリリースされました。バージョン 1.8.0 に含まれる commit については、こちらをご覧ください。
1.7.0 以降の重要な変更
- 予測型「戻る」 -
OnBackPressedCallbackに、戻るジェスチャーが commit されたときの以前のhandleOnBackPressed()コールバックに加えて、新しい予測型「戻る」コールバックが導入されました。また、Activity Compose で予測型「戻る」ジェスチャー イベントを処理するためのPredictiveBackHandlerコンポーザブルも付属しています。提供する一時停止ラムダで収集する必要がある BackEventCompat オブジェクトのフローを提供します。
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed() は、戻る操作を処理するための API を優先して非推奨になりました。デベロッパーは、このメソッドをオーバーライドするのではなく、OnBackPressedDispatcher を利用する必要があります。
- EdgeToEdge - 下位互換性のある方法で狭額縁ディスプレイを簡単に設定できるように、
ComponentActivity.enableEdgeToEdge()が追加されました。
バージョン 1.8.0-rc01
2023 年 9 月 20 日
androidx.activity:activity:1.8.0-rc01、androidx.activity:activity-compose:1.8.0-rc01、androidx.activity:activity-ktx:1.8.0-rc01 がリリースされました。バージョン 1.8.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.8.0-beta01
2023 年 9 月 6 日
androidx.activity:activity:1.8.0-beta01、androidx.activity:activity-compose:1.8.0-beta01、androidx.activity:activity-ktx:1.8.0-beta01 がリリースされました。バージョン 1.8.0-beta01 に含まれる commit については、こちらをご覧ください。
ドキュメントの改善
BackEventCompatのドキュメントを改善しました。(aosp/2722254)
バージョン 1.8.0-alpha07
2023 年 8 月 23 日
androidx.activity:activity:1.8.0-alpha07、androidx.activity:activity-compose:1.8.0-alpha07、androidx.activity:activity-ktx:1.8.0-alpha07 がリリースされました。バージョン 1.8.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
Activity Compose に、予測型「戻る」ジェスチャー イベントを処理するための新しい
PredictiveBackHandlerコンポーザブルが追加されました。提供する一時停止ラムダで収集する必要があるBackEventCompatオブジェクトのFlowを提供します。PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }また、
Flow呼び出しがcollect()を呼び出すことを保証する、lint ルールによるコンパイル時警告も付属しています。(Id2773、b/294884345)ComponentActivityのonBackPressedDispatcherが遅延初期化されるようになり、必要な場合にのみ作成されるようになりました。(I0bf8e)
バグの修正
ComponentActivityがonBackPressed()コールバックを受け取り、アクティビティがすでにDESTROYEDされている場合、Android 13 で NPE が表示されなくなりました。(Idb055、b/291869278)- 試験運用版の
isAtLeastU()API の使用を削除しました(Ie9117、b/289269026)
バージョン 1.8.0-alpha06
2023 年 6 月 21 日
androidx.activity:activity:1.8.0-alpha06、androidx.activity:activity-compose:1.8.0-alpha06、androidx.activity:activity-ktx:1.8.0-alpha06 がリリースされました。バージョン 1.8.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
OnBackPressedDispatcherが、予測型「戻る」ジェスチャー中に削除されたコールバックを正しくキャンセルするようになりました。(I3f90f)
API の変更
SystemBarStyle.autoをenableEdgeToEdgeAPI に渡す際に、detectDarkModeラムダ パラメータをオーバーライドして、夜間モードを検出するためのカスタム ロジックを提供できるようになりました。(aosp/2546393、b/278263793)
バージョン 1.8.0-alpha05
2023 年 6 月 7 日
androidx.activity:activity:1.8.0-alpha05、androidx.activity:activity-compose:1.8.0-alpha05、androidx.activity:activity-ktx:1.8.0-alpha05 がリリースされました。このバージョンは内部ブランチで開発されています。
API の変更
- Activity は、フレームワークの
BackEventクラスから切り離されたBackEventの下位互換バージョンとして機能するBackEventCompatクラスを提供するようになりました。 - 互換性を破る変更:
OnBackPressedCallbackのhandleOnBackStartedメソッドとhandleOnBackProgressedメソッドが、フレームワークのandroid.window.BackEventクラスではなくandroidx.activity.BackEventCompatインスタンスを受け取るようになりました。OnBackPressedDispatcherの同等の@VisibleForTestingAPI も更新されました。 OnBackPressedDispatcherのコンストラクタは、オプションのConsumer<Boolean>インスタンスを受け取るようになりました。これにより、ディスパッチャの所有者は、有効なコールバックの数がゼロからゼロ以外に、またはその逆に変化するたびにコールバックを受け取ることができます。
バグの修正
- Activity
1.7.2:reportが呼び出される前に画面から移動するとReportDrawnがクラッシュする問題を修正しました。(Ic46f1、b/260506820)
バージョン 1.8.0-alpha04
2023 年 5 月 10 日
androidx.activity:activity:1.8.0-alpha04、androidx.activity:activity-compose:1.8.0-alpha04、androidx.activity:activity-ktx:1.8.0-alpha04 がリリースされました。これは内部ブランチからリリースされました。
バグの修正
- Activity 1.7.1 以降: -
ActivityScenarioでComponentActivityを使用する場合に、ReportFullyDrawExecuterがリークしなくなりました。(Id2ff2、b/277434271)
バージョン 1.8.0-alpha03
2023 年 4 月 12 日
androidx.activity:activity:1.8.0-alpha03、androidx.activity:activity-compose:1.8.0-alpha03、androidx.activity:activity-ktx:1.8.0-alpha03 がリリースされました。これは内部ブランチからリリースされました。
新機能
- 下位互換性がある形でエッジ ツー エッジ ディスプレイを簡単に設定できるように
ComponentActivity.setUpEdgeToEdge()を追加しました。
API の変更
ComponentActivity.onBackPressed()は、戻る操作を処理するための API を優先して非推奨になりました。デベロッパーは、このメソッドをオーバーライドするのではなく、OnBackPressedDispatcherを利用する必要があります。(Ibce2f、b/271596918)ComponentDialogとComponentActivityに、コンテンツ ビューを設定する前にすべてのビューツリー オーナーを初期化するために使用される公開 APIinitViewTreeOwners()が含まれるようになりました。(Ibdce0、b/261314581)
バグの修正
- フラグメントが MenuHost を誤って無効化し、アクティビティ内の他のメニューが予期しない動作をする問題を修正しました。(I9404e、b/244336571)
その他の変更点
ActivityResultRegisterは Java ではなく Kotlin のRandomを使用するようになりました。(I4d98f、b/272096025)
バージョン 1.8.0-alpha02
2023 年 3 月 8 日
androidx.activity:activity:1.8.0-alpha02、androidx.activity:activity-compose:1.8.0-alpha02、androidx.activity:activity-ktx:1.8.0-alpha02 がリリースされました。内部ブランチから開発されました。
依存関係の更新
- Activity
1.7.0-rc01以降: Activity がLifecycle 2.6.0に依存するようになりました。
バージョン 1.8.0-alpha01
2023 年 2 月 8 日
androidx.activity:activity:1.8.0-alpha01、androidx.activity:activity-compose:1.8.0-alpha01、androidx.activity:activity-ktx:1.8.0-alpha01 がリリースされました。これは内部ブランチから構築されました。
新機能
OnBackPressedCallbackクラスに、戻るジェスチャーが commit されたときの以前のhandleOnBackPressed()コールバックに加えて、新しい予測型「戻る」進行状況コールバックが導入されました。
バージョン 1.7
バージョン 1.7.2
2023 年 5 月 24 日
androidx.activity:activity:1.7.2、androidx.activity:activity-compose:1.7.2、androidx.activity:activity-ktx:1.7.2 がリリースされました。バージョン 1.7.2 に含まれる commit については、こちらをご覧ください。
バグの修正
reportが呼び出される前に画面から移動するとReportDrawnがクラッシュする問題を修正しました。(Ic46f1、b/260506820)
バージョン 1.7.1
2023 年 4 月 19 日
androidx.activity:activity:1.7.1、androidx.activity:activity-compose:1.7.1、androidx.activity:activity-ktx:1.7.1 がリリースされました。バージョン 1.7.1 に含まれる commit については、こちらをご覧ください。
バグの修正
ActivityScenarioでComponentActivityを使用した場合に、ReportFullyDrawExecuterがリークしなくなりました。(Id2ff2、b/277434271)
バージョン 1.7.0
2023 年 3 月 22 日
androidx.activity:activity:1.7.0、androidx.activity:activity-compose:1.7.0、androidx.activity:activity-ktx:1.7.0 がリリースされました。バージョン 1.7.0 に含まれる commit については、こちらをご覧ください。
1.6.0 以降の重要な変更
PickVisualMediaとPickMultipleVisualMediaの写真選択ツール アクティビティ コントラクトが更新され、MediaStore.ACTION_PICK_IMAGESが利用できない場合のフォールバックが追加されました。これにより、OEM やシステムアプリ(Google Play 開発者サービスなど)は、フォールバック アクションを実装することで、より幅広い Android デバイスと API レベルで一貫した写真選択ツールのエクスペリエンスを提供できるようになります。写真選択ツールは、このフォールバックが利用可能な場合はこれを使用し、利用できない場合はIntent.ACTION_OPEN_DOCUMENTの使用にフォールバックします。Intent.ACTION_OPEN_DOCUMENTは、API 19 以降のすべてのデバイスをサポートするために残されています。ComponentDialogがSavedStateRegistryOwnerを実装して独自のSavedStateRegistryにアクセスし、ViewTreeに対しSavedStateRegistryOwnerを設定するようになりました。ViewTreeAPI を使って Window にLifecycleOwnerとSavedStateRegistryOwnerの両方をアタッチするという要件を満たしているため、ComponentDialog内で Jetpack Compose を使用することが可能になりました。IntentSenderRequest.Builder.setFlags()を使用して、1 つのフラグだけでなく、Intentで複数のフラグを設定できるようになりました。
Kotlin 変換
多くのアクティビティ クラスが Kotlin に変換されました。変換されたクラスはすべて、以前のバージョンとのバイナリ互換性を維持します。次のクラスには、Kotlin で記述されたクラスに対するソース互換性のない変更があります。ActivityResultRegistryOwner、OnBackPressedDispatcherOwner。
次の表に、新しいバージョンのアクティビティのソース コンバージョンを示します。
| アクティビティ 1.5 | アクティビティ 1.6 |
|---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
これらのクラスも Kotlin に変換されましたが、ソース互換性は維持されています。ContextAware、ContextAwareHelper、OnContextAvailableListener、IntentSenderRequest、OnBackPressedDispatcher
FullyDrawnReporter API
ComponentActivity が FullyDrawnReporter インスタンスを提供するようになりました。このインスタンスを使用すると、インタラクションの準備が整ったときに複数のコンポーネントでレポートできます。ComponentActivity は、すべてのコンポーネントが完了するまで待機してから、reportFullyDrawn() を呼び出してくれます。この API はタイミング要件を自動的に処理するので、onDraw 呼び出しの一部として呼び出す必要はありません。
この API では、以下を有効にすることをおすすめします。
- 起動完了時の Android ランタイムへのシグナル送信。マルチフレームの起動シーケンス中に実行されるすべてのコードが含まれ、バックグラウンド コンパイルで優先されるようにします。
- Macrobenchmark と Play Vitals へのシグナル送信(アプリが起動指標で完全に描画されたと見なされ、パフォーマンスをトラッキングできるようにする必要がある場合)。
個々のコンポーザブルの FullyDrawnReporter を簡単に使用できるように、次の 3 つの Activity Compose API を追加しました。
ReportDrawnは、コンポーザブルですぐにインタラクションに対応できる準備が整っていることを示します。ReportDrawnWhen: コンポーザブルでインタラクションの準備が整ったタイミングを示す述語(list.count > 0)を受け取ります。ReportDrawnAfter: 完了時にインタラクションの準備が整ったことを示す停止中のメソッドを受け取ります。
依存関係の更新
- Activity が Lifecycle
2.6.1に依存するようになりました。(8fc31d) - Activity が ProfileInstaller
1.3.0に依存するようになりました。(83d3b1)
バージョン 1.7.0-rc01
2023 年 3 月 8 日
androidx.activity:activity:1.7.0-rc01、androidx.activity:activity-compose:1.7.0-rc01、androidx.activity:activity-ktx:1.7.0-rc01 がリリースされました。バージョン 1.7.0-rc01 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Activity が
Lifecycle 2.6.0に依存するようになりました。
バージョン 1.7.0-beta02
2023 年 2 月 22 日
androidx.activity:activity:1.7.0-beta02、androidx.activity:activity-compose:1.7.0-beta02、androidx.activity:activity-ktx:1.7.0-beta02 がリリースされました。バージョン 1.7.0-beta02 に含まれる commit については、こちらをご覧ください。
API の変更
MediaStore.ACTION_PICK_IMAGESが利用できない場合のフォールバックとしてPickVisualMediaコントラクトとPickMultipleVisualMediaコントラクトで使用されるアクションとエクストラが、一貫した写真選択ツールのエクスペリエンスを提供したい OEM とシステムアプリに API の安定性を提供する公開定数になりました。このフォールバックの実装は、システムアプリのみに限定されています。(Icd320)
バージョン 1.7.0-beta01
2023 年 2 月 8 日
androidx.activity:activity:1.7.0-beta01、androidx.activity:activity-compose:1.7.0-beta01、androidx.activity:activity-ktx:1.7.0-beta01 がリリースされました。バージョン 1.7.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
IntentSenderRequest.Builder.setFlags()を使用して、1 つのフラグだけでなく、Intentで複数のフラグを設定できるようになりました。(Iac04c)
バグの修正
- フレームワーク写真選択ツールが使用できない場合の
PickVisualMediaのフォールバックにより、デバイスのシステム イメージにインストールされているアプリへの処理が正しく制限されるようになりました。(If8ae6)
Kotlin 変換
ActivityResultRegistryOwnerが Kotlin で記述されるようになりました。これは Kotlin で記述されたクラスのソース互換性のない変更です。以前のgetActivityResultRegistry()関数を実装する代わりに、activityResultRegistryプロパティをオーバーライドする必要があります。(I0b00e)OnBackPressedDispatcherOwnerが Kotlin で記述されるようになりました。これは Kotlin で記述されたクラスのソース互換性のない変更です。以前のgetOnBackPressedDispatcher関数を実装する代わりに、onBackPressedDispatcherプロパティをオーバーライドする必要があります。(Ia277d)ContextAware、ContextAwareHelper、OnContextAvailableListener、IntentSenderRequest、OnBackPressedDispatcherが Kotlin で記述されるようになりました。(I1a73e、Iada92、aosp/2410754、I18ac7、b/257291701)
バージョン 1.7.0-alpha04
2023 年 1 月 25 日
androidx.activity:activity:1.7.0-alpha04、androidx.activity:activity-compose:1.7.0-alpha04、androidx.activity:activity-ktx:1.7.0-alpha04 がリリースされました。バージョン 1.7.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
PickVisualMediaとPickMultipleVisualMediaの Activity Result コントラクトは、Android システムから提供される写真選択ツールが利用できない場合に、Google Play サービスから提供される写真選択ツールを、可能であれば利用するようになりました(Android システムから提供されるのは、MediaStore.ACTION_PICK_IMAGESなどです)。Android システムから提供される写真選択ツールしか検出しないisPhotoPickerAvailable()API は非推奨となりました。新しいisPhotoPickerAvailable(Context)API を使用することをおすすめします。この API は、写真選択ツールのいずれかが利用可能であればそれを返します。(I55be6)
バージョン 1.7.0-alpha03
2023 年 1 月 11 日
androidx.activity:activity:1.7.0-alpha03、androidx.activity:activity-compose:1.7.0-alpha03、androidx.activity:activity-ktx:1.7.0-alpha03 がリリースされました。バージョン 1.7.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
ComponentDialogがSavedStateRegistryOwnerを実装して独自のSavedStateRegistryにアクセスし、ViewTree に対しSavedStateRegistryOwnerを設定するようになりました。ViewTree API を使って Window にLifecycleOwnerとSavedStateRegistryOwnerの両方をアタッチするという要件を満たしているため、ComponentDialog内で Jetpack Compose を使用することが可能になりました。(Idca17、I73468、b/261162296)
API の変更
reportFullyDrawnを呼び出す準備ができるとすぐにアクティビティをマークするReportDrawnコンポーザブルを追加しました。(Ic5b14、b/259687964)
Kotlin 変換
- ソースとバイナリの互換性を保持するにあたり、
ActvitiyResultCallbackとOnBackPressedCallbackのクラスが両方とも Kotlin に変換されました。(Ifc5e5、Ide1b0、b/257291701)
バージョン 1.7.0-alpha02
2022 年 10 月 24 日
androidx.activity:activity:1.7.0-alpha02、androidx.activity:activity-compose:1.7.0-alpha02、androidx.activity:activity-ktx:1.7.0-alpha02 がリリースされました。バージョン 1.7.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
- Activity
1.6.1以降:maxItemsのデフォルト値を使用する場合に、Android R デバイスでPickMultipleVisualMediaActivity Result コントラクトが起動しない問題を修正しました。(Ie2776、b/249182130)
バージョン 1.7.0-alpha01
2022 年 10 月 5 日
androidx.activity:activity:1.7.0-alpha01、androidx.activity:activity-compose:1.7.0-alpha01、androidx.activity:activity-ktx:1.7.0-alpha01 がリリースされました。バージョン 1.7.0-alpha01 に含まれる commit については、こちらをご覧ください。
FullyDrawnReporter API
ComponentActivity が FullyDrawnReporter インスタンスを提供するようになりました。このインスタンスを使用すると、インタラクションの準備が整ったときに複数のコンポーネントでレポートできます。ComponentActivity は、すべてのコンポーネントが完了するまで待機してから、reportFullyDrawn() を呼び出してくれます。この API はタイミング要件を自動的に処理するので、onDraw 呼び出しの一部として呼び出す必要はありません。
この API では、以下を有効にすることをおすすめします。
- 起動完了時の Android ランタイムへのシグナル送信。マルチフレームの起動シーケンス中に実行されるすべてのコードが含まれ、バックグラウンド コンパイルで優先されるようにします。
- Macrobenchmark と Play Vitals へのシグナル送信(アプリが起動指標で完全に描画されたと見なされ、パフォーマンスをトラッキングできるようにする必要がある場合)。
個々のコンポーザブルの FullyDrawnReporter を簡単に使用できるように、次の 2 つの Activity Compose API を追加しました。
ReportDrawnWhen: コンポーザブルでインタラクションの準備が整ったタイミングを示す述語(list.count > 0)を受け取ります。ReportDrawnAfter: 完了時にインタラクションの準備が整ったことを示す停止中のメソッドを受け取ります。
バージョン 1.6.1
バージョン 1.6.1
2022 年 10 月 24 日
androidx.activity:activity:1.6.1、androidx.activity:activity-compose:1.6.1、androidx.activity:activity-ktx:1.6.1 がリリースされました。バージョン 1.6.1 に含まれる commit については、こちらをご覧ください。
バグの修正
maxItemsのデフォルト値を使用する場合に、Android R デバイスでPickMultipleVisualMediaActivity Result コントラクトが起動しない問題を修正しました。(Ie2776、b/249182130)
バージョン 1.6.0
バージョン 1.6.0
2022 年 9 月 21 日
androidx.activity:activity:1.6.0、androidx.activity:activity-compose:1.6.0、androidx.activity:activity-ktx:1.6.0 がリリースされました。バージョン 1.6.0 に含まれる commit については、こちらをご覧ください。
1.5.0 以降の重要な変更
ActivityResultContracts.PickVisualMediaとActivityResultContracts.PickMultipleVisualMediaが追加されました。これにより、写真選択ツールを利用できる場合はMediaStore.ACTION_PICK_IMAGESを使用し、利用できない場合はIntent.ACTION_OPEN_DOCUMENTを使用するという、下位互換性のコントラクトが提供されます。- Android 13 の
OnBackInvokedCallbackを、ComponentActivityとComponentDialogによって提供されるOnBackPressedDispatchersに統合しました。これにより、OnBackPressedDispatcher上に構築されたすべての API が、予測型「戻る」ジェスチャーを有効にするときに機能するようになります。
バージョン 1.6.0-rc02
2022 年 9 月 7 日
androidx.activity:activity:1.6.0-rc02、androidx.activity:activity-compose:1.6.0-rc02、androidx.activity:activity-ktx:1.6.0-rc02 がリリースされました。バージョン 1.6.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
OnBackPressedDispatcherがOnBackInvokedCallbackをPRIORITY_OVERLAYではなくPRIORITY_DEFAULTに登録するようになりました。(I3901f)ComponentActivityを拡張するクラスで、常に両方のonMultiWindowModeChanged()コールバックがディスパッチされるようになりました。(Ic4d85)launchの呼び出しでExceptionがスローされ、コールバックがLifecycleOwnerなしで登録された場合、ActivityResultRegistryから結果をActivityResultCallbackに返さないようにしました。(Ia7ff7、b/238350794)ComponentActivityはメニュー呼び出しを適切にディスパッチするようになり、アクティビティ内でスーパー関数を呼び出す必要はなくなりました。(Ie33c5、b/238057118)
依存関係の更新
Activityライブラリは Lifecycle2.5.1に依存するようになりました。(If6697)
バージョン 1.6.0-rc01
2022 年 8 月 24 日
androidx.activity:activity:1.6.0-rc01、androidx.activity:activity-compose:1.6.0-rc01、androidx.activity:activity-ktx:1.6.0-rc01 がリリースされました。バージョン 1.6.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- バージョン 33 より前の SDK を使用している場合に
OnBackPressedDispatcherを初期化してもClassVerificationErrorが発生しなくなりました。(Ic32e1) ComponentActivityのonPictureInPictureModeChanged()コールバックをオーバーライドするクラスで、常にコールバックがディスパッチされるようになりました。(Ib7fdb)
バージョン 1.6.0-beta01
2022 年 8 月 10 日
androidx.activity:activity:1.6.0-beta01、androidx.activity:activity-compose:1.6.0-beta01、androidx.activity:activity-ktx:1.6.0-beta01 がリリースされました。バージョン 1.6.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
nullを渡すと常にクラッシュが発生するため、ComponentActivityの非推奨のstartActivityForResultメソッドとstartIntentSenderForResultメソッドに@NonNullを付けました。(Id2a25、b/231476082)
バグの修正
- Activity
1.5.1以降:launchの呼び出しでExceptionがスローされ、コールバックがLifecycleOwnerなしで登録された場合、ActivityResultRegistryから結果をActivityResultCallbackに返さないようにしました。(Ia7ff7、b/238350794) - Activity
1.5.1以降:ComponentActivityはメニュー呼び出しをonPrepareOptionMenu()、onCreateOptionsMenu()、onOptionsItemSelected()のオーバーライドに適切にディスパッチするようになり、スーパー関数を呼び出す必要はなくなりました。(Ie33c5、b/238057118)
依存関係の更新
- Activity
1.5.1以降:ActivityライブラリはLifecycleバージョン2.5.1に依存するようになりました。(If6697)
バージョン 1.6.0-alpha05
2022 年 6 月 15 日
androidx.activity:activity:1.6.0-alpha05、androidx.activity:activity-compose:1.6.0-alpha05、androidx.activity:activity-ktx:1.6.0-alpha05 がリリースされました。バージョン 1.6.0-alpha05 は非公開のプレリリース ブランチで開発されており、公開版の commit はありません。
API の変更
- Tiramisu Beta 3 SDK に合わせて、
minCompileSdkが 33 になりました
バグの修正
- Android 10 以前を搭載したデバイスで
ACTION_OPEN_DOCUMENTと連携するようにPickVisualMediaActivityResultContractの SDK 拡張機能チェックを実行する際に、以前のデバイスで起きていたクラッシュを修正しました。
バージョン 1.6.0-alpha04
2022 年 5 月 18 日
androidx.activity:activity:1.6.0-alpha04 と androidx.activity:activity-ktx:1.6.0-alpha04 がリリースされました。
バグの修正
- Builder またはトップレベルの Kotlin 関数を使用してリクエストを作成しようとすると、
PickVisualMediaRequestでエラーが発生してスタック オーバーフローになる問題を修正しました。 - Android 13 デベロッパー ベータ版 2 の
OnBackInvokedCallbackを、ComponentDialogによって提供されるOnBackPressedDispatcherに統合しました。これにより、OnBackPressedDispatcher上に構築されたすべての API が、予測型「戻る」ジェスチャーを有効にするときに機能するようになります。
バージョン 1.6.0-alpha03
2022 年 4 月 27 日
androidx.activity:activity:1.6.0-alpha03、androidx.activity:activity-compose:1.6.0-alpha03、androidx.activity:activity-ktx:1.6.0-alpha03 がリリースされました。
- 注: このバージョンは Android 13 デベロッパー ベータ版 1 SDK でのみコンパイルされます。
新機能
ActivityResultContracts.PickVisualMediaとActivityResultContracts.PickMultipleVisualMediaが追加されました。これにより、写真選択ツールを利用できる場合はMediaStore.ACTION_PICK_IMAGESを使用し、利用できない場合はIntent.ACTION_OPEN_DOCUMENTを使用するという、下位互換性のコントラクトが提供されます。- Android 13 デベロッパー ベータ版 1 の
OnBackInvokedCallbackを、ComponentActivityによって提供されるOnBackPressedDispatcherに統合しました。これにより、OnBackPressedDispatcher上に構築されたすべての API が、予測型「戻る」ジェスチャーを有効にするときに機能するようになります。
バージョン 1.6.0-alpha01
2022 年 3 月 23 日
androidx.activity:activity:1.6.0-alpha01、androidx.activity:activity-compose:1.6.0-alpha01、androidx.activity:activity-ktx:1.6.0-alpha01 がリリースされました。
- 注: このバージョンは Android 13 デベロッパー プレビュー 2 SDK でのみコンパイルされます。
新機能
- Android 13 デベロッパー プレビュー 2 での変更を
ComponentActivityに統合しました。
バージョン 1.5.1
バージョン 1.5.1
2022 年 7 月 27 日
androidx.activity:activity:1.5.1、androidx.activity:activity-compose:1.5.1、androidx.activity:activity-ktx:1.5.1 がリリースされました。バージョン 1.5.1 に含まれる commit については、こちらをご覧ください。
バグの修正
launch()の呼び出しでExceptionがスローされ、コールバックがLifecycleOwnerなしで登録された場合、ActivityResultRegistryから結果をActivityResultCallbackに返さないようにしました。(Ia7ff7、b/238350794)ComponentActivityはメニュー呼び出しをonPrepareOptionMenu()、onCreateOptionsMenu()、onOptionsItemSelected()のオーバーライドに適切にディスパッチするようになり、スーパー関数を呼び出す必要はなくなりました。(Ie33c5、b/238057118)
依存関係の更新
Activityライブラリは Lifecycle2.5.1に依存するようになりました。(If6697)
バージョン 1.5.0
バージョン 1.5.0
2022 年 6 月 29 日
androidx.activity:activity:1.5.0、androidx.activity:activity-compose:1.5.0、androidx.activity:activity-ktx:1.5.0 がリリースされました。バージョン 1.5.0 に含まれる commit については、こちらをご覧ください。
1.4.0 以降の重要な変更
- ComponentDialog -
ComponentDialogはDialogのサブクラスです。このサブクラスには、システムの [戻る] ボタンが押されてダイアログが表示されたときに呼び出されるOnBackPressedDispatcherが含まれています。重要な点として、このサブクラスはViewTreeOnBackPressedDispatcherOwnerも設定し、これによりビューが一般的な方法で適切なディスパッチャ(それがComponentActivityとComponentDialogのどちらに存在する場合でも)を取得できます。 - コールバック インターフェース -
ComponentActivityに、Activityコールバックの代わりに使用できるモジュラー コールバック インターフェースのセットが実装されました。これらのインターフェースには、OnNewIntentProvider、OnConfigurationChangedProvider、OnTrimMemoryProvider、OnPictureInPictureModeChangedProvider、OnMultiWindowModeChangedProviderが含まれています。 - CreationExtras の統合 -
ComponentActivityが Lifecycle2.5.0のCreationExtrasを介して、ステートレスのViewModelProvider.Factoryを提供できるようになりました。
その他の変更
ActivityResultContracts.CreateDocument用のパラメータがないコンストラクタが非推奨になり、具体的な MIME タイプ(例: 「image/png」)を受け取る新しいコンストラクタに置き換えられました。この MIME タイプはIntent.ACTION_CREATE_DOCUMENTで必要とされます。
バージョン 1.5.0-rc01
2022 年 5 月 11 日
androidx.activity:activity:1.5.0-rc01、androidx.activity:activity-compose:1.5.0-rc01、androidx.activity:activity-ktx:1.5.0-rc01 がリリースされました。1.5.0-beta01 からの変更はありません。バージョン 1.5.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.0-beta01
2022 年 4 月 20 日
androidx.activity:activity:1.5.0-beta01、androidx.activity:activity-compose:1.5.0-beta01、androidx.activity:activity-ktx:1.5.0-beta01 がリリースされました。バージョン 1.5.0-beta01 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Activity が Lifecycle
2.4.0-beta01に依存するようになりました。
バージョン 1.5.0-alpha05
2022 年 4 月 6 日
androidx.activity:activity:1.5.0-alpha05、androidx.activity:activity-compose:1.5.0-alpha05、androidx.activity:activity-ktx:1.5.0-alpha05 がリリースされました。バージョン 1.5.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
ComponentActivityのonPanelClosed()が superonPanelClosed()も呼び出すようになりました。これにより、onContextMenuClosedメソッドが呼び出されない問題を修正しました。(Ib6f77)
バージョン 1.5.0-alpha04
2022 年 3 月 23 日
androidx.activity:activity:1.5.0-alpha04、androidx.activity:activity-compose:1.5.0-alpha04、androidx.activity:activity-ktx:1.5.0-alpha04 がリリースされました。バージョン 1.5.0-alpha04 に含まれる commit については、こちらをご覧ください。
バグの修正
SavedStateViewFactoryが、SavedStateRegistryOwnerで初期化された場合でもCreationExtrasを使用できるようになりました。エクストラが指定されている場合、初期化された引数は無視されます。(I6c43b、b/224844583)
バージョン 1.5.0-alpha03
2022 年 2 月 23 日
androidx.activity:activity:1.5.0-alpha03、androidx.activity:activity-compose:1.5.0-alpha03、androidx.activity:activity-ktx:1.5.0-alpha03 がリリースされました。バージョン 1.5.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
CreationExtrasをアクティビティのby viewModels()関数に渡せるようになりました。(I6a3e6、b/217600303)
バージョン 1.5.0-alpha02
2022 年 2 月 9 日
androidx.activity:activity:1.5.0-alpha02、androidx.activity:activity-compose:1.5.0-alpha02、androidx.activity:activity-ktx:1.5.0-alpha02 がリリースされました。バージョン 1.5.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
ComponentActivityがOnPictureInPictureModeChangedProviderインターフェースを実装し、すべてのコンポーネントがピクチャー イン ピクチャー モードの変更イベントを受信できるようになりました。(I9f567)ComponentActivityがOnMultiWindowModeChangedProviderインターフェースを実装し、すべてのコンポーネントがマルチウィンドウ モードの変更イベントを受信できるようになりました。(I62d91)
バージョン 1.5.0-alpha01
2022 年 1 月 26 日
androidx.activity:activity:1.5.0-alpha01、androidx.activity:activity-compose:1.5.0-alpha01、androidx.activity:activity-ktx:1.5.0-alpha01 がリリースされました。バージョン 1.5.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
ComponentActivityが、Lifecycle2.5.0-alpha01の一部として導入された ViewModel CreationExtras と統合されました。(Ie7e00、b/207012584)DialogのサブクラスであるComponentDialogを追加しました。このサブクラスには、ダイアログの表示中にシステムの [戻る] ボタンが押されたときに呼び出されるOnBackPressedDispatcherが含まれています。重要な点として、このサブクラスはViewTreeOnBackPressedDispatcherOwnerも設定し、これによりビューが一般的な方法で適切なディスパッチャ(それがComponentActivityとComponentDialogのどちらに存在する場合でも)を取得することができます。(I8a1bc)ComponentActivityが新しいOnNewIntentProviderインターフェースを実装し、すべてのコンポーネントが該当イベントを受信できるようになりました。(If1f8b)ComponentActivityが新しいOnConfigurationChangedProviderインターフェースを実装し、すべてのコンポーネントが該当イベントを受信できるようになりました。(If623b)ComponentActivityが新しいOnTrimMemoryProviderインターフェースを実装し、すべてのコンポーネントが該当イベントを受信できるようになりました。(Ia9295)
API の変更
ActivityResultContracts.CreateDocument用のパラメータがないコンストラクタが非推奨になり、具体的な MIME タイプ(例:"image/png")を受け取る新しいコンストラクタに置き換えられました。この MIME タイプはIntent.ACTION_CREATE_DOCUMENTで必要とされます。(I2bec6)- View に関連付けられた
OnBackPressedDispatcherOwnerを、Contextのキャストに依存せずにViewTreeOnBackPressedDispatcherOwnerで取得できるようになりました。(I74685)
バグの修正
registerForActivityResult()コールバックから、またはComponentActivityのinitの一部として追加されたLifecycleObserverへのコールバックから初めてViewModelにアクセスしたときのクラッシュを修正しました。(Ife83f)
バージョン 1.4.0
バージョン 1.4.0
2021 年 10 月 27 日
androidx.activity:activity:1.4.0、androidx.activity:activity-compose:1.4.0、androidx.activity:activity-ktx:1.4.0 がリリースされました。バージョン 1.4.0 に含まれる commit については、こちらをご覧ください。
1.3.0 以降の重要な変更
- AndroidX
ComponentActivityにMenuHostインターフェースが実装されました。これにより、すべてのコンポーネントがMenuProviderインスタンスをアクティビティに追加して、メニュー項目をActionBarに追加できるようになります。各MenuProviderに、必要に応じてLifecycleを追加できます。これにより、Lifecycleの状態に応じてそれぞれのメニュー項目の公開設定が自動的に制御され、Lifecycleが破棄されたときに、MenuProviderの削除が処理されます。 - Kotlin で
ActivityResultContractクラスが書き換えられ、Kotlin でカスタム コントラクトを書いているデベロッパーが、入力クラスと出力クラスに適切な null 可能性を定義できるようになりました。 - Kotlin で
ActivityResultContractsクラスとそのコントラクトが書き換えられ、適切な null 可能性を確保できるようになりました。
バージョン 1.4.0-rc01
2021 年 10 月 13 日
androidx.activity:activity:1.4.0-rc01、androidx.activity:activity-compose:1.4.0-rc01、androidx.activity:activity-ktx:1.4.0-rc01 がリリースされました。バージョン 1.4.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
launchの呼び出しでExceptionがスローされた場合に、ActivityResultRegistryから結果がActivityResultCallbackに返されないようになりました(If4f91、b/200845664)
バージョン 1.4.0-beta01
2021 年 9 月 29 日
androidx.activity:activity:1.4.0-beta01、androidx.activity:activity-compose:1.4.0-beta01、androidx.activity:activity-ktx:1.4.0-beta01 がリリースされました。バージョン 1.4.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- Java プログラミング言語のコードを使用する際に
List<? extends Uri>の出力タイプを使用する原因となっていたActivityResultContracts.OpenMultipleDocumentsとActivityResultContracts.GetMultipleContentsのタイプを修正しました。(If71de) - 現在公開されている
Companionオブジェクトを介して、ActivityResultContracts.StartActivityForResultクラス、ActivityResultContracts.StartIntentSenderForResultクラス、ActivityResultContracts.RequestMultiplePermissionsクラス内のパブリック定数に Kotlin を使用してアクセスできるようになりました。(aosp/1832555)
ドキュメントの更新情報
- Activity Result API で処理されるようになった API のサポート終了メッセージ(
startActivityForResult、startIntentSenderForResult、onActivityResult、requestPermissions、onRequestPermissionsResult)が、すべて詳細に表示されるようになりました。(cce80f)
バージョン 1.4.0-alpha02
2021 年 9 月 15 日
androidx.activity:activity:1.4.0-alpha02、androidx.activity:activity-compose:1.4.0-alpha02、androidx.activity:activity-ktx:1.4.0-alpha02 がリリースされました。バージョン 1.4.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
activity-composeアーティファクトにLaunchDuringCompositionlint エラーを追加しました。これによりActivityResultLauncherのlaunchメソッドをコンポジションの一部として呼び出せなくなります(コンポジションは副作用なしにする必要があるため)。副作用を処理するための API を使用します。(7c2bbe、b/191347220)
API の変更
- Kotlin で
ActivityResultContractクラスが書き換えられ、Kotlin でカスタム コントラクトを書いているデベロッパーが、入力クラスと出力クラスに適切な null 可能性を定義できるようになりました。(I8a8f5) - Kotlin で
ActivityResultContractsクラスとそのコントラクトが書き換えられ、適切な null 可能性を確保できるようになりました。(I69802)
バージョン 1.4.0-alpha01
2021 年 9 月 1 日
androidx.activity:activity:1.4.0-alpha01、androidx.activity:activity-compose:1.4.0-alpha01、androidx.activity:activity-ktx:1.4.0-alpha01 がリリースされました。バージョン 1.4.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- AndroidX
ComponentActivityにMenuHostインターフェースが実装されました。これにより、すべてのコンポーネントがMenuProviderインスタンスをアクティビティに追加して、メニュー項目をActionBarに追加できるようになります。各MenuProviderに、必要に応じてLifecycleを追加できます。これにより、Lifecycleの状態に応じてそれぞれのメニュー項目の公開設定が自動的に制御され、Lifecycleが破棄されたときに、MenuProviderの削除が処理されます。(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)
}
動作の変更
- 登録されていないか、登録解除された
ActivityResultLauncherでlaunch()を呼び出そうとすると、ActivityResultRegistryがIllegalStateExceptionをスローするようになりました。(Ida75d、b/192567522)
外部からの協力
バージョン 1.3.1
バージョン 1.3.1
2021 年 8 月 4 日
androidx.activity:activity:1.3.1、androidx.activity:activity-compose:1.3.1、androidx.activity:activity-ktx:1.3.1 がリリースされました。バージョン 1.3.1 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Activity が Kotlin
1.5.21に依存するようになりました。 - Activity Compose が、Compose
1.0.1に依存するようになりました。
バージョン 1.3.0
バージョン 1.3.0
2021 年 7 月 28 日
androidx.activity:activity:1.3.0、androidx.activity:activity-compose:1.3.0、androidx.activity:activity-ktx:1.3.0 がリリースされました。バージョン 1.3.0 に含まれる commit については、こちらをご覧ください。
1.2.0 以降の重要な変更
- Activity Compose のアーティファクト -
activity-composeアーティファクトは、Jetpack Compose UI をアクティビティ内でホストするためのsetContent拡張メソッド、ComponentActivityAPI(システムの [戻る] ボタンを処理する)および Activity Result API とやり取りする Compose 専用ラッパーを提供します。詳しくは、ドキュメントをご覧ください。 - CaptureVideo コントラクト -
CaptureVideoActivityResultContractは、非推奨になったTakeVideoコントラクトに代わるもので、多くのカメラアプリで機能する成功を示すブール値を返します。 - ピクチャー イン ピクチャー ヒントビューのトラッキング -
activity-ktxのユーザーは、ActivityにtrackPipAnimationHintView拡張メソッドを使用し、ウィンドウに対する相対位置が変化するのに応じて、PictureInPictureParamsをビューの新しい位置で自動的に再構築できます。
バージョン 1.3.0-rc02
2021 年 7 月 14 日
androidx.activity:activity:1.3.0-rc02、androidx.activity:activity-compose:1.3.0-rc02、androidx.activity:activity-ktx:1.3.0-rc02 がリリースされました。バージョン 1.3.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
ActivityResultRegistryコールバックが適切に保存、復元されるようになりました。これにより、コールバックが savedState で複製されることはありません。(I97816、b/191893160)
バージョン 1.3.0-rc01
2021 年 7 月 1 日
androidx.activity:activity:1.3.0-rc01、androidx.activity:activity-compose:1.3.0-rc01、androidx.activity:activity-ktx:1.3.0-rc01 がリリースされました。1.3.0-beta02 からの変更はありません。バージョン 1.3.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.3.0-beta02
2021 年 6 月 16 日
androidx.activity:activity:1.3.0-beta02、androidx.activity:activity-compose:1.3.0-beta02、androidx.activity:activity-ktx:1.3.0-beta02 がリリースされました。バージョン 1.3.0-beta02 に含まれる commit については、こちらをご覧ください。
Compose 1.0.0-beta09 に依存するように activity-compose を更新しました。androidx.compose.ui:ui-test-junit4 に activity-compose に対するコンパイル時の依存関係が追加されました。
バージョン 1.3.0-beta01
2021 年 6 月 2 日
androidx.activity:activity:1.3.0-beta01、androidx.activity:activity-compose:1.3.0-beta01、androidx.activity:activity-ktx:1.3.0-beta01 がリリースされました。バージョン 1.3.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- 以前に非推奨になった
@Composable registerForActivityResult()メソッドが削除されました。rememberLauncherForActivityResult()をご使用ください。(Ic39d3)
バージョン 1.3.0-alpha08
2021 年 5 月 18 日
androidx.activity:activity:1.3.0-alpha08、androidx.activity:activity-compose:1.3.0-alpha08、androidx.activity:activity-ktx:1.3.0-alpha08 がリリースされました。バージョン 1.3.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
- 新しい
CaptureVideoActivityResultContractは、指定された URI に動画が正常に保存されたかどうかを示すブール値をActivityResultCallbackに返します。非推奨となったTakeVideoコントラクトは、カメラアプリでサムネイル ビットマップを返すのは非常にまれであり、結果が有用でなくなるため、これによって置き換えられました。(Ie21f2、b/185938070) - ビューの移動に応じて PipParams のソース長方形のヒントを更新するために、新しい API
Activity#setPipAnimationHintViewを追加しました。(I9063d)
API の変更
rememberLauncherForActivityResult関数がランチャーを返すようになり、unregister()関数は非推奨となりました。ランチャーの登録と登録解除はrememberLauncherForActivityResultによって自動的に処理されます。(I2443e)
Compose の互換性
androidx.activity:activity-compose:1.3.0-alpha08は、Compose バージョン1.0.0-beta07以降に対してのみ互換性があります。
バージョン 1.3.0-alpha07
2021 年 4 月 21 日
androidx.activity:activity:1.3.0-alpha07、androidx.activity:activity-compose:1.3.0-alpha07、androidx.activity:activity-ktx:1.3.0-alpha07 がリリースされました。バージョン 1.3.0-alpha07 に含まれる commit については、こちらをご覧ください。
バグの修正
- 再コンポジションによってコントラクトが変更された場合でも、
rememberLauncherForActivityResultが同じActivityResultLauncherインスタンスへの安定した参照を返すようになりました。(Id2d6d) 1.3.0より新しい不安定なバージョンの Fragment を使用しても、1.3.0の使用を促す誤判定の lint エラーがスローされなくなりました。(aosp/1670206、b/184847092)
バージョン 1.3.0-alpha06
2021 年 4 月 7 日
androidx.activity:activity:1.3.0-alpha06、androidx.activity:activity-compose:1.3.0-alpha06、androidx.activity:activity-ktx:1.3.0-alpha06 がリリースされました。バージョン 1.3.0-alpha06 に含まれる commit については、こちらをご覧ください。
API の変更
registerForActivityResult()API の名前がrememberLauncherForActivityResult()に変更されました。これにより、返されたActivityResultLauncherが、ユーザーに代わって覚えている管理オブジェクトであることをわかりやすく示すことができます。返されたActivityResultLauncherでunregisterを呼び出そうとすると、エラーがスローされるようになりました。(I2bb6d)LocalOnBackPressedDispatcherOwner.currentとLocalActivityResultRegistryOwner.currentが、現在の合成中に使用可能かどうかを判断しやすくするための null 許容値を返すようになりました。BackHandlerやrememberLauncherForActivityResult()などの API が必要な API で、基になるオーナーが見つからない場合、より詳細な説明エラーがスローされるようになりました。NavHostが、NavHostをプレビューしている場合など、OnBackPressedDispatcherOwnerが見つからないときでも機能するようになりました。(I7d8b4)
バグの修正
- アクティビティが
STOPPEDになり、再度STARTEDに変化した際に、BackHandlerが [戻る] を適切にインターセプトするようになり、LifecycleOwner によって他のコールバックが追加されるようになりました。(I71de6、b/182284739) Unit入力があるカスタムActivityResultContractでlaunch()メソッド拡張機能を使用しても、NullPointerExceptionを引き起こさなくなりました(I76282、b/183837954)。
バージョン 1.3.0-alpha05
2021 年 3 月 24 日
androidx.activity:activity:1.3.0-alpha05、androidx.activity:activity-compose:1.3.0-alpha05、androidx.activity:activity-ktx:1.3.0-alpha05 がリリースされました。バージョン 1.3.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
- Activity 1.2.2 以降: Fragment 1.3.1 以降の使用時に誤作動を引き起こす
InvalidFragmentVersionForActivityResultlint チェックの問題を修正しました。(I54da1、b/182388985) - Activity 1.2.2 以降:
ComponentActivityで、別のIntentの追加要素として保持されていたActivityResultContractからIntentを起動したときに、ClassNotFoundExceptionが発生しないようになりました。(Ieff05、b/182906230)
依存関係の更新
- Activity 1.2.2 以降: Activity が Lifecycle
2.3.1に依存するようになりました。
バージョン 1.3.0-alpha04
2021 年 3 月 10 日
androidx.activity:activity:1.3.0-alpha04、androidx.activity:activity-compose:1.3.0-alpha04、androidx.activity:activity-ktx:1.3.0-alpha04 がリリースされました。バージョン 1.3.0-alpha04 に含まれる commit については、こちらをご覧ください。
バグの修正
- Activity
1.2.1から: 以前に付与されていなかった権限だけでなく、リクエストされたすべての権限に対して、RequestMultiplePermissionsが常に結果を返すようになりました。(I50bc3、b/180884668) - Activity
1.2.1から:ActivityResultRegistryにより、unregister()の後にregister()を同じキーで再度実行しても、処理中のlaunch()リクエストが結果を返すようになりました。(I9ef34、b/181267562) - Activity Compose は、ランタイム クラスパスにテスト依存関係を追加しなくなりました。(Ifd8b3)
- 以前に設定した
onBackラムダが再コンポジション後も引き続き使用されていたBackHandlerの問題を修正しました。(8eb5eb)
バージョン 1.3.0-alpha03
2021 年 2 月 24 日
androidx.activity:activity:1.3.0-alpha03、androidx.activity:activity-compose:1.3.0-alpha03、androidx.activity:activity-ktx:1.3.0-alpha03 がリリースされました。バージョン 1.3.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- composable 内のアクティビティから結果を取得するためのコンポーズ可能な
registerForActivityResult関数を追加しました。(Ia7851、b/172690553)
API の変更
LocalOnBackPressedDispatcherOwnerにCompositionLocalProviderで使用できるprovides関数が追加され、asProvidableCompositionLocal()API が置き換えられました。(I45d24)
バージョン 1.3.0-alpha02
2021 年 2 月 10 日
androidx.activity:activity:1.3.0-alpha02、androidx.activity:activity-compose:1.3.0-alpha02、androidx.activity:activity-ktx:1.3.0-alpha02 がリリースされました。バージョン 1.3.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
- Activity Compose
1.3.0-alpha01で Compose1.0.0-alpha12の使用時にNoSuchMethodError: No static method setContent例外が発生する問題を修正しました。すべての Compose ユーザーは1.3.0-alpha02以降に依存する必要があります。(b/179911234)
API の変更
BackHandlerAPI を使用すると、Composable がシステムの [戻る] ボタンをインターセプトできます。(I58ed5、b/172154006)
バージョン 1.3.0-alpha01
2021 年 2 月 10 日
androidx.activity:activity:1.3.0-alpha01、androidx.activity:activity-compose:1.3.0-alpha01、androidx.activity:activity-ktx:1.3.0-alpha01 がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- 新しい
activity-composeアーティファクトでは、androidx.activity固有の API 用の Jetpack Compose 固有のヘルパーを利用できます。ComponentActivity.setContentがandroidx.compose.ui.platform.setContentからandroidx.activity.compose.setContentに移動しました。(Icf416)
既知の問題
- Activity Compose
1.3.0-alpha01とそれに依存するライブラリ(androidx.compose.ui:ui-test-junit4:1.0.0-alpha12など)を使用すると、NoSuchMethodError: No static method setContent例外が発生します。(b/179911234)
バージョン 1.2.4
バージョン 1.2.4
2021 年 7 月 21 日
androidx.activity:activity:1.2.4 と androidx.activity:activity-ktx:1.2.4 がリリースされました。バージョン 1.2.4 に含まれる commit については、こちらをご覧ください。
バグの修正
- Activity
1.3.0-rc02以降: ActivityResultRegistry コールバックが適切に保存、復元されるようになりました。これにより、コールバックが savedState で複製されることはありません。(I97816、b/191893160)
バージョン 1.2.3
バージョン 1.2.3
2021 年 5 月 5 日
androidx.activity:activity:1.2.3 と androidx.activity:activity-ktx:1.2.3 がリリースされました。バージョン 1.2.3 に含まれる commit については、こちらをご覧ください。
バグの修正
Unit入力があるカスタムActivityResultContractでlaunch()メソッド拡張機能を使用しても、NullPointerExceptionを引き起こさなくなりました(I76282、b/183837954)。- Fragment の新しいバージョンのスナップショット、アルファ版、ベータ版、または RC 版ビルドを使用している場合に Fragment
1.3.0の使用を要求する誤検出の lint エラーを修正しました。(f4a57e、b/184847092)
バージョン 1.2.2
バージョン 1.2.2
2021 年 3 月 24 日
androidx.activity:activity:1.2.2 と androidx.activity:activity-ktx:1.2.2 がリリースされました。バージョン 1.2.2 に含まれる commit については、こちらをご覧ください。
バグの修正
- Fragment 1.3.1 以降の使用時に誤作動を引き起こす
InvalidFragmentVersionForActivityResultlint チェックの問題を修正しました。(I54da1、b/182388985) ComponentActivityで、別のIntentの追加要素として保持されていたActivityResultContractからIntentを起動したときに、ClassNotFoundExceptionが発生しないようになりました。(Ieff05、b/182906230)
依存関係の更新
- Activity が Lifecycle
2.3.1に依存するようになりました。
バージョン 1.2.1
バージョン 1.2.1
2021 年 3 月 10 日
androidx.activity:activity:1.2.1 と androidx.activity:activity-ktx:1.2.1 がリリースされました。バージョン 1.2.1 に含まれる commit については、こちらをご覧ください。
バグの修正
RequestMultiplePermissionsが、以前に付与されていなかった権限だけでなく、リクエストされたすべての権限に対して結果を返すようになりました。(I50bc3、b/180884668)ActivityResultRegistryにより、unregister()の後にregister()を同じキーで再度実行しても、処理中のlaunch()リクエストが結果を返すようになりました。(I9ef34、b/181267562)
バージョン 1.2.0
バージョン 1.2.0
2021 年 2 月 10 日
androidx.activity:activity:1.2.0 と androidx.activity:activity-ktx:1.2.0 がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください。
1.1.0 以降の主な変更
- Activity Result API:
ComponentActivityでActivityResultRegistryが利用できるようになり、Activity または Fragment のメソッドをオーバーライドせずにstartActivityForResult()+onActivityResult()、requestPermissions()+onRequestPermissionsResult()の各フローを処理できるようになりました。ActivityResultContractによりタイプ セーフティーが向上し、これらのフローをテストするためのフックを提供するようになりました。更新されたアクティビティから結果を取得するをご覧ください。
ContextAware:ComponentActivityがContextAwareを実装し、ベースのActivity.onCreate()の前にコールバックを受け取るOnContextAvailableListenerインスタンスを 1 つ以上追加できるようになりました。- 停止性 Kotlin 拡張機能
withContextAvailable()を使用すると、Context が利用可能になったときに、非停止性ブロックを実行して結果を返すことができます。 - この API は、Fragment 1.3.0 で
FragmentActivityがFragmentManagerの状態を復元するために使用します。FragmentActivityのサブクラスに追加されたリスナーは、そのリスナーの後で実行されます。 - この API は、AppCompat 1.3.0-alpha02 以降で
AppCompatActivityが使用します。AppCompatActivityのサブクラスに追加されたリスナーは、そのリスナーの後で実行されます。
- 停止性 Kotlin 拡張機能
ViewTreeのサポート: Lifecycle2.3.0と SavedState1.1.0に追加されたViewTreeLifecycleOwner.get(View)、ViewTreeViewModelStoreOwner.get(View)、ViewTreeSavedStateRegistryOwnerAPI に対するサポートをComponentActivityに追加し、ComponentActivityに直接追加された View のLifecycleOwner、ViewModelStoreOwner、SavedStateRegistryOwnerとして Activity を返すようになりました。
- reportFullyDrawn() バックポート - すべての API レベルで機能するように
reportFullyDrawn()のActivityメソッドがComponentActivityにバックポートされました。これにより、API 19 でのクラッシュが修正され、すべての API レベルでこのメソッドのトレースが追加されました。
バージョン 1.2.0-rc01
2020 年 12 月 16 日
androidx.activity:activity:1.2.0-rc01 と androidx.activity:activity-ktx:1.2.0-rc01 がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
ActivityResultRegistryが保存された状態が常に正確に復元されるようになりました。(Idd56b)ComponentActivity.reportFullyDrawnに対するトレースを追加(Ic7632)
外部からの協力
ComponentActivityがreportFullyDrawn()をオーバーライドするようになったことで、すべての API レベルで呼び出し可能となり、API 19 のデバイスで適切なシステム権限を付与せずに呼び出した際にクラッシュする問題が修正されました。Simon Schiller 氏に感謝いたします。(b/163239764、#103)
バージョン 1.2.0-beta02
2020 年 12 月 2 日
androidx.activity:activity:1.2.0-beta02 と androidx.activity:activity-ktx:1.2.0-beta02 がリリースされました。バージョン 1.2.0-beta02 に含まれる commit については、こちらをご覧ください。
バグの修正
- Activity Result API で
Lifecycleに登録した場合に、ライフサイクルがSTARTEDになる前に結果が配信される問題を修正しました。(I109ea)
外部からの協力
launch()のドキュメントを更新して、ActivityNotFoundExceptionをスローする可能性があることを明記しました。Michał Zieliński 氏に感謝いたします。(aosp/1493580)
バージョン 1.2.0-beta01
2020 年 10 月 1 日
androidx.activity:activity:1.2.0-beta01 と androidx.activity:activity-ktx:1.2.0-beta01 がリリースされました。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください。
バグの修正
ActivityResultRegistryは、リクエスト コードregister()としての使用に割り当てられていない整数が見つかるまで、整数をランダムに生成するようになりました。これにより、リクエスト コードの増加によって発生する可能性のある整数オーバーフローを防ぐことできます。(b/168779518)ActivityResultLauncherでunregister()を呼び出すと、Lifecycleオブザーバーが適切に削除されるようになりました。(b/165608393)
動作の変更
LifecycleがすでにSTARTEDに達しているLifecycleOwnerでregister()を呼び出そうとすると、ActivityResultRegistryがIllegalStateExceptionをスローするようになりました。(b/165435866)
ドキュメントの更新
ContextAwareドキュメントがLifecycleOwnerにリンクされています。Lifecycleコールバックは、作成イベントおよび破棄イベントに適した場所としてハイライト表示されています。(aosp/1414152)
バージョン 1.2.0-alpha08
2020 年 8 月 19 日
androidx.activity:activity:1.2.0-alpha08 と androidx.activity:activity-ktx:1.2.0-alpha08 がリリースされました。バージョン 1.2.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
ComponentActivityがContextAwareを実装し、ベースのActivity.onCreate()の前にコールバックを受け取るOnContextAvailableListenerインスタンスを 1 つ以上追加できるようになりました。(b/161390636)- 停止性 Kotlin 拡張機能
withContextAvailable()を使用すると、Context が利用可能になったときに、非停止性ブロックを実行して結果を返すことができます。(I8290c) - この API は、Fragment 1.3.0-alpha08 で
FragmentActivityがFragmentManagerの状態を復元するために使用します。FragmentActivityのサブクラスに追加されたリスナーは、そのリスナーの後で実行されます。(I513da) - この API は、AppCompat 1.3.0-alpha02 で
AppCompatActivityが使用します。AppCompatActivityのサブクラスに追加されたリスナーは、そのリスナーの後で実行されます。(I513da)
- 停止性 Kotlin 拡張機能
バグの修正
- lint 27.1.0 以降を使用している場合に
ActivityResultFragmentVersionDetectorlint チェックで発生する不具合を修正しました。(b/162155191)
バージョン 1.2.0-alpha07
2020 年 7 月 22 日
androidx.activity:activity:1.2.0-alpha07 と androidx.activity:activity-ktx:1.2.0-alpha07 がリリースされました。バージョン 1.2.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
- Activity Result API を使用するときに Fragment
1.3.0-alpha07を使用していることを確認する新しいInvalidFragmentVersionForActivityResultlint チェックを追加しました。これにより、古いバージョンの Fragment の使用に起因する、「無効なリクエスト コード」問題によるランタイムのクラッシュと、権限リクエストの動作不能を回避できます。(b/152554847)
外部からの協力
RequestPermissionActivity Result コントラクトの結果を解析する際にArrayIndexOutOfBoundsExceptionが発生する問題が解決されました。(I8f9e3、b/161057605)
バージョン 1.2.0-alpha06
2020 年 6 月 10 日
androidx.activity:activity:1.2.0-alpha06 と androidx.activity:activity-ktx:1.2.0-alpha06 がリリースされました。バージョン 1.2.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- Kotlin の
ActivityResultクラスを分割して、requestCodeとintentに直接アクセスできるようになりました。(b/157212935) ActivityResultLauncherで、ランチャーの登録に使用されたActivityResultContractを取得できるようになりました。(b/156875743)
API の変更
- 互換性を破る変更:
ActivityResultRegistryのinvoke()メソッドの名前をonLaunch()に変更しました。(b/157496491) - 結果が返されない場合に、
OpenMultipleDocumentsコントラクトが登録済みのコールバックにnullではなく空のリストを返すようになりました。(b/157348014)
バージョン 1.2.0-alpha05
2020 年 5 月 20 日
androidx.activity:activity:1.2.0-alpha05 と androidx.activity:activity-ktx:1.2.0-alpha05 がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
ComponentActivity内でViewを使用する際の、Lifecycle2.3.0-alpha03のViewTreeViewModelStoreOwnerと SavedState1.1.0-alpha01のViewTreeSavedStateRegistryOwnerのサポートを追加しました。(aosp/1297993、aosp/1300264)
API の変更
TakePictureコントラクトは、指定されたUriに画像を書き込む際にカメラアプリでサポートされることがほとんどなかったため、サムネイルのBitmapではなく、成功を示すbooleanを返すようになりました。(b/154302879)ActivityResultLauncherのinvoke()拡張機能が削除され、launch()の明示的な使用により、非同期オペレーションであることがよりわかりやすく示されようになりました。ActivityResultLauncher<Void>およびActivityResultLauncher<Unit>のandroidx.activity.resultパッケージにlaunchの Kotlin 拡張機能が追加されました。これにより、以前のinvoke()拡張機能の動作をそれぞれミラーリングしていたnullまたはUnitを渡す必要がなくなりました。(aosp/1304674、aosp/1304675)setFlagsMask()とsetFlagsValues()のIntentSenderRequest.Builderメソッドが単一のsetFlags()メソッドに統合されました。(aosp/1302111)
バグの修正
LifecycleOwnerでActivityResultCallbackを登録するときに、状態がSTARTEDに達する前にコールバックがトリガーされる問題を修正しました。(aosp/1309744)
動作の変更
ActivityResultRegistryは、0ではなく0xFFFFで始まるリクエスト コードを生成するようになりました。これにより、アクティビティでstartActivityForResult()またはrequestPermissions()を使用する際の重複が防止されます。(aosp/1302324)
バージョン 1.2.0-alpha04
2020 年 4 月 29 日
androidx.activity:activity:1.2.0-alpha04 と androidx.activity:activity-ktx:1.2.0-alpha04 がリリースされました。バージョン 1.2.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- ActivityResult API に対して startIntentSenderForResult を呼び出すことができるコントラクトを追加しました。(b/153007517)
API の変更
prepareCall()メソッドの名前が、ここのComponentActivityと Fragment1.3.0-alpha04の両方で、registerForActivityResult()に変更されました。(aosp/1278717)GetContents、OpenDocuments、RequestPermissionsコントラクトの名前がそれぞれGetMultipleContents、OpenMultipleDocuments、RequestMultiplePermissionsに変更されました。(aosp/1280161)ComponentActivityにActivityResultRegisteryOwnerインターフェースが実装されました。(aosp/1290888)ComponentActivityのstartActivityForResult()/onActivityResult()API とonRequestPermissionsResult()API が非推奨になりました。Activity Result API を使用してください。(b/154751887)
バグの修正
GetMultipleContentsおよびOpenMultipleDocumentsコントラクトを使用している場合に、1 つのアイテムを選択したとき、コールバックに正しく返されるようになりました。(b/152941153)
バージョン 1.2.0-alpha03
2020 年 4 月 1 日
androidx.activity:activity:1.2.0-alpha03 と androidx.activity:activity-ktx:1.2.0-alpha03 がリリースされました。バージョン 1.2.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
TakeVideo、PickContact、GetContent、GetContents、OpenDocument、OpenDocuments、OpenDocumentTree、CreateDocumentのコントラクトをActivityResultContractsが提供する事前ビルド済みのコントラクトのセットに追加しました。(aosp/1262482、aosp/1266916、aosp/1268960)- Activity Result API で、オプションの
ActivityOptionsCompatを使用して結果のアクティビティを起動できるようになりました。(b/151860054)
API の変更
TakePictureコントラクトは、イメージを保存する場所を指定するUriの入力を受け取るようになりました。入力を受け取らない以前のコントラクトの名前をTakePicturePreviewに変更しました。(aosp/1262482)ActivityResultRegistryのregisterActivityResultCallback()メソッドの名前をregister()に変更しました。(aosp/1267621)ActivityResultLauncherのdispose()メソッドの名前をunregister()に変更し、ActivityResultRegistryのunregisterResultCallback()を削除しました。(aosp/1267621)ActivityResultContactのcreateIntent()メソッドは、明示的なインテントを作成できるように、入力に加えてContextを受け取るようになりました。(aosp/1238800)ActivityResultContractがgetSynchronousResult()をオーバーライドして、startActivityForResultを呼び出さずに結果を提供できるようになりました。これは、リクエストされた権限がすでに付与されている場合に、RequestPermissionコントラクトとRequestPermissionsコントラクトで「許可」ステータスを正しく提供するために使用されます。(b/151110799)- これまで使用できた
Dialコントラクトは、IntentがstartActivityForResult()で使用されることを想定していないため、削除しました。(aosp/1266916) - 機能の拡張を想定していない Activity Result API の多くが
finalになりました。これにはgetActivityResultRegistry()、prepareCall()メソッド、invoke()以外のすべてのActivityResultRegistryのメソッド、オプションの追加機能をサポートしていない複数のデフォルトのコントラクトが含まれます。(b/152439361)
バグの修正
- 構成の変更後にまだ再登録されていないコールバックに結果を提供しようとする際の
ActivityResultRegistryのNullPointerExceptionを修正しました。ActivityResultRegistryは、こうした保留中の結果を保持し、コールバックが再登録されたときに提供するようになりました。(b/152137004)
バージョン 1.2.0-alpha02
2020 年 3 月 18 日
androidx.activity:activity:1.2.0-alpha02 と androidx.activity:activity-ktx:1.2.0-alpha02 がリリースされました。バージョン 1.2.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- ActivityResultRegistry:
ComponentActivityでActivityResultRegistryが利用できるようになり、アクティビティまたはフラグメントのメソッドをオーバーライドせずにstartActivityForResult()+onActivityResult()、requestPermissions()+onRequestPermissionsResult()の各フローを処理できるようになりました。ActivityResultContractによりタイプ セーフティーが向上し、これらのフローをテストするためのフックを提供するようになりました。更新された アクティビティから結果を取得するをご覧ください。(b/125158199)
バージョン 1.2.0-alpha01
2020 年 3 月 4 日
androidx.activity:activity:1.2.0-alpha01 と androidx.activity:activity-ktx:1.2.0-alpha01 がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- Lifecycle
2.3.0-alpha01に追加されたViewTreeLifecycleOwner.get(View)API に対するサポートを追加し、アクティビティに直接追加されたビューのLifecycleOwnerとしてアクティビティを返すようになりました。(aosp/1182955)
バグの修正
- Activity
1.1.0で発生する回帰を修正しました。この回帰は、android.app.FragmentManagerのバグが原因でonBackPressed()によってIllegalStateExceptionが発生する以前のバージョンのプラットフォームで実行している場合に発生していました。(b/146290338)
バージョン 1.1.0
バージョン 1.1.0
2020 年 1 月 22 日
androidx.activity:activity:1.1.0 がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください。
1.0.0 以降の重要な変更
- Lifecycle ViewModel SavedState の統合:
SavedStateViewModelFactoryは、ComponentActivityまたはそのサブクラスでby viewModels()、ViewModelProviderコンストラクタ、またはViewModelProviders.of()を使用するときのデフォルト ファクトリになりました。
バージョン 1.1.0-rc03
2019 年 12 月 4 日
androidx.activity:activity:1.1.0-rc03 と androidx.activity:activity-ktx:1.1.0-rc03 がリリースされました。バージョン 1.1.0-rc03 に含まれる commit については、こちらをご覧ください。
依存関係の変更
- Activity が Lifecycle
2.2.0-rc03と Lifecycle ViewModel SavedState1.0.0-rc03に依存するようになりました。
バージョン 1.1.0-rc02
2019 年 11 月 7 日
androidx.activity:activity:1.1.0-rc02 と androidx.activity:activity-ktx:1.1.0-rc02 がリリースされました。バージョン 1.1.0-rc02 に含まれる commit については、こちらをご覧ください。
依存関係の変更
- Activity が Lifecycle
2.2.0-rc02に依存するようになりました。
バージョン 1.1.0-rc01
2019 年 10 月 23 日
androidx.activity:activity:1.1.0-rc01 と androidx.activity:activity-ktx:1.1.0-rc01 がリリースされました。1.1.0-beta01 からの変更はありません。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.1.0-beta01
2019 年 10 月 9 日
androidx.activity:activity:1.1.0-beta01 と androidx.activity:activity-ktx:1.1.0-beta01 がリリースされました。バージョン 1.1.0-beta01 に含まれる commit については、こちらをご覧ください。
依存関係の変更
- Activity が SavedState 1.0.0 安定版に依存するようになりました。
バージョン 1.1.0-alpha03
2019 年 9 月 5 日
androidx.activity:activity:1.1.0-alpha03 と androidx.activity:activity-ktx:1.1.0-alpha03 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
- Activity が Core 1.1.0 安定版に依存するようになりました。
バグの修正
- Activity が Lifecycle
2.2.0-alpha04に依存するようになりました。
バージョン 1.1.0-alpha02
2019 年 8 月 7 日
androidx.activity:activity:1.1.0-alpha02 と androidx.activity:activity-ktx:1.1.0-alpha02 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
SavedStateViewModelFactoryは、ComponentActivityでby viewModels()、ViewModelProviderコンストラクタ、またはViewModelProviders.of()を使用するときのデフォルト ファクトリになりました(b/135716331)
バージョン 1.1.0-alpha01
2019 年 7 月 2 日
androidx.activity:activity:1.1.0-alpha01 と androidx.activity:activity-ktx:1.1.0-alpha01 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
activityが Lifecycle2.2.0-alpha02に依存するようになりました(aosp/1007817)activity-ktxでlifecycle-runtime-ktxへの依存関係が追加されました。activity-ktxまたはactivity-ktxに依存するライブラリ(fragment-ktxなど)を使用する際、明示的に依存関係に追加する必要がなくなりました(aosp/987162)
バージョン 1.0.0
バージョン 1.0.0
2019 年 9 月 5 日
androidx.activity:activity:1.0.0 と androidx.activity:activity-ktx:1.0.0 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
- ComponentActivity:
ComponentActivityは、Fragment1.1.0ではFragmentActivityの新しいベースクラスとして、さらに AppCompat1.1.0では拡張機能によりAppCompatActivityの新しいベースクラスとして機能します。 - activity-ktx:
activity-ktxモジュールには、ViewModels にアクセスするためのby viewModelsKotlin プロパティの拡張機能が含まれています。Fragment1.1.0からfragment-ktxを含めると、このモジュールが自動的に含まれます。 - OnBackPressedDispatcher:
onBackPressed()をオーバーライドする代わりに構成可能な手段として、任意のLifecycleOwner(フラグメントなど)からOnBackPressedCallbackを登録して、システムの [戻る] ボタンのイベントをインターセプトできるようになりました。レシーバのバージョンがaddCallbackのラムダがactivity-ktxに追加されました。詳細については、「戻る」カスタム ナビゲーションの提供に関するドキュメントをご覧ください。 - onRetainCustomNonConfigurationInstance の非推奨:
onRetainCustomNonConfigurationInstance()と、関連するgetLastCustomNonConfigurationInstance()API が非推奨になりました。非構成状態の保存には ViewModels を使用することを強くおすすめします。ViewModelStoreOwnerに適した構成可能なソリューションが提供されるので、保持されるオブジェクトの所有権が明確になり、アクティビティが最終的に破棄されるときにリソースをクリーンアップするonCleared()コールバックが提供されます。
バージョン 1.0.0-rc01
2019 年 7 月 2 日
androidx.activity:activity:1.0.0-rc01 と androidx.activity:activity-ktx:1.0.0-rc01 がリリースされました。1.0.0-beta01 からの変更はありません。このバージョンに含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-beta01
2019 年 6 月 5 日
androidx.activity::activity:1.0.0-beta01 と androidx.activity:activity-ktx:1.0.0-beta01 がリリースされました。1.0.0-alpha08 からの変更はありません。このバージョンに含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha08
2019 年 5 月 7 日
androidx.activity:activity:1.0.0-alpha08 と androidx.activity:activity-ktx:1.0.0-alpha08 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
API の変更
- 互換性を破る変更: すでに非推奨になっていた
ComponentActivityのaddOnBackPressedCallbackメソッドとremoveOnBackPressedCallbackメソッドが削除されました(aosp/953857) OnBackPressedCallbackのsetEnabled()メソッドとisEnabled()メソッドが最終版になりました(b/131416833)OnBackPressedCallbackのremove()メソッドが最終版になりました(aosp/952720)OnBackPressedDispatcherにパブリック コンストラクタが追加され、テストなどのために独自のインスタンスを作成できるようになりました(aosp/953431)ComponentActivityのonBackPressed()が@MainThreadとして明示的にマークされるようになりました(aosp/952721)
バグの修正
LifecycleOwnerで追加されたOnBackPressedCalbackのhandleOnBackPressed()メソッド内からremove()を呼び出すときのConcurrentModificationExceptionが修正されました(b/131765095)
バージョン 1.0.0-alpha07
2019 年 4 月 25 日
androidx.activity:activity:1.0.0-alpha07 と androidx.activity:activity-ktx:1.0.0-alpha07 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
API の変更
このリリースでは、onBackPressed() の処理が大幅に変更されています。詳細については、更新された「戻る」カスタム ナビゲーションに関するドキュメントをご覧ください。
OnBackPressedCallbackとOnBackPressedDispatcherのメソッドは@MainThreadとしてマークされています(aosp/943813)handleOnBackPressed()メソッドがbooleanを返さなくなりました。代わりに、OnBackPressedCallbackが有効または無効にできる抽象クラスになりました。新しいisEnabled()メソッドは true を返す場合にのみ、handleOnBackPressed()を呼び出し、[戻る] ボタンを処理する必要があります(aosp/944518)OnBackPressedDispatcherのaddCallbackメソッドがCancellableインスタンスを返さなくなりました。この機能を実現するremove()メソッドがOnBackPressedCallbackに追加され、handleOnBackPressed()でremove()を呼び出せるようになりました(aosp/944519)(aosp/946316)handleOnBackPressed()を実装しisEnabledとremove()にアクセスできるラムダを受け取る、addCallbackのレシーバ スコープ コールバックがactivity-ktxに追加されました(aosp/944520)
バージョン 1.0.0-alpha06
2019 年 4 月 3 日
androidx.activity:activity:1.0.0-alpha06 と androidx.activity:activity-ktx:1.0.0-alpha06 がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
API の変更
- ComponentActivity に、
@LayoutRes intを受け取る 2 つ目のコンストラクタが追加されました。このコンストラクタは、AppCompatActivity クラスをアノテーションする以前の動作を@ContentViewで置き換えます。この方法は、アプリとライブラリの両方のモジュールで機能します(b/128352521) getOnBackPressedDispatcher()を介して取得できる新しいOnBackPressedDispatcherを優先して、ComponentActivity のOnBackPressedCallback関連 API が非推奨になりました(aosp/922523)- 新しい
OnBackPressedCallbackをOnBackPressedDispatcherに追加するメソッドがCancellableオブジェクトを返すようになり、OnBackPressedDispatcherへの明示的な参照を必要とせずに、コールバックを削除できるようになりました(aosp/922523) LifecycleOwnerに関連付けてOnBackPressedCallbackを追加すると、Lifecycle の開始時と停止時にOnBackPressedCallbackがそれぞれ追加、削除されるようになりました(aosp/922523)
バージョン 1.0.0-alpha05
2019 年 3 月 13 日
androidx.activity:activity:1.0.0-alpha05 と androidx.activity:activity-ktx:1.0.0-alpha05 がリリースされました。このリリースに含まれる commit の完全なリストについては、こちらをご覧ください。
新機能
@ContentViewアノテーション ルックアップがキャッシュされるようになりました(b/123709449)
バージョン 1.0.0-alpha04
2019 年 1 月 30 日
androidx.activity:activity 1.0.0-alpha04 と androidx.activity:activity-ktx 1.0.0-alpha04 がリリースされました。
新機能
setContentView()を使用する代わりに、どのレイアウト XML ファイルを拡張するかを指定できる@ContentViewクラス アノテーションのサポートが追加されました(aosp/837619)
API の変更
getViewModelStore()はオーバーライドすべきでない、今後のリリースで最終版になるという注記が追加されました。現在このメソッドをオーバーライドしている場合は、機能をリクエストしてください(aosp/837619)
バグの修正
activity-ktxモジュールの依存関係と一致するように、activityモジュールが ViewModel のバージョン 2.1.0-alpha02 に依存するようになりました。
バージョン 1.0.0-alpha03
2018 年 12 月 17 日
androidx.activity 1.0.0-alpha03 がリリースされました。
新機能
- ComponentActivity が
BundleSavedStateRegistryOwnerを実装し、新しくリリースされた SavedState ライブラリに依存するようになりました(aosp/815133) - ComponentActivity は、InputMethodManager が最後にフォーカスされたビューをリークさせる Android フレームワークのバグを回避するようになりました(b/37122102)
バージョン 1.0.0-alpha02
2018 年 12 月 3 日
API の変更
getLifecycle()はオーバーライドすべきでなく、今後のリリースでfinalになるという注記を追加しました。現在このメソッドをオーバーライドしている場合は、機能リクエストを提出してください。(aosp/815834)
バージョン 1.0.0-alpha01
2018 年 11 月 5 日
androidx.activity 1.0.0-alpha01 では、既存の FragmentActivity と AppCompatActivity の新しい基本クラスである ComponentActivity が導入されました。
新機能
addOnBackPressedCallbackを介してOnBackPressedCallbackを登録することにより、アクティビティでメソッドをオーバーライドしなくてもonBackPressed()コールバックを受け取れるようになりました。ComponentActivityからViewModelを取得するための新しいby viewModels()Kotlin プロパティ デリゲートを追加しました。- 保留中の入力イベント(クリックなど)が
onStop()でキャンセルされるようになりました。
API の変更
LifecycleOwnerとViewModelStoreOwnerの実装がFragmentActivityからComponentActivityに移動されました。onRetainCustomNonConfigurationInstanceが非推奨になりました。構成の変更に影響されないことを要するオブジェクトを保存するには、ViewModelを使用してください。