Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

Activity

アクティビティの上に構築されるコンポーズ可能な API にアクセスします。
最新の更新 現在の安定版リリース 次のリリース候補 ベータ版リリース アルファ版リリース
2020 年 10 月 1 日 1.1.0 - 1.2.0-beta01 -

依存関係の宣言

Activity への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

    dependencies {
        def activity_version = "1.1.0"

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

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.2.0

バージョン 1.2.0-beta01

2020 年 10 月 1 日

androidx.activity:activity:1.2.0-beta01androidx.activity:activity-ktx:1.2.0-beta01 がリリースされました。バージョン 1.2.0-beta01 に含まれるコミットについては、こちらをご覧ください

バグの修正

  • ActivityResultRegistry は、リクエスト コード register() としての使用に割り当てられていない整数が見つかるまで、整数をランダムに生成するようになりました。これにより、リクエスト コードの増加によって発生する可能性のある整数オーバーフローを防ぐことできます。(b/168779518

  • ActivityResultLauncherunregister() を呼び出すと、Lifecycle オブザーバーが適切に削除されるようになりました。(b/165608393

動作の変更

  • Lifecycle がすでに STARTED に達している LifecycleOwnerregister() を呼び出そうとすると、ActivityResultRegistryIllegalStateException をスローするようになりました。(b/165435866

ドキュメントの更新

  • ContextAware ドキュメントが LifecycleOwner にリンクされています。Lifecycle コールバックは、作成イベントおよび破棄イベントに適した場所としてハイライト表示されています。(aosp/1414152

バージョン 1.2.0-alpha08

2020 年 8 月 19 日

androidx.activity:activity:1.2.0-alpha08androidx.activity:activity-ktx:1.2.0-alpha08 がリリースされました。バージョン 1.2.0-alpha08 に含まれるコミットについては、こちらをご覧ください

新機能

  • ComponentActivityContextAware を実装し、ベースの Activity.onCreate() の前にコールバックを受け取る OnContextAvailableListener インスタンスを 1 つ以上追加できるようになりました。(b/161390636
    • 停止性 Kotlin 拡張機能 withContextAvailable() を使用すると、Context が利用可能になったときに、非停止性ブロックを実行して結果を返すことができます。(I8290c
    • この API は、Fragment 1.3.0-alpha08FragmentActivityFragmentManager の状態を復元するために使用します。FragmentActivity のサブクラスに追加されたリスナーは、そのリスナーの後で実行されます。(I513da
    • この API は、AppCompat 1.3.0-alpha02AppCompatActivity が使用します。AppCompatActivity のサブクラスに追加されたリスナーは、そのリスナーの後で実行されます。(I513da

バグの修正

  • lint 27.1.0 以降を使用している場合に ActivityResultFragmentVersionDetector lint チェックで発生する不具合を修正しました。(b/162155191

バージョン 1.2.0-alpha07

2020 年 7 月 22 日

androidx.activity:activity:1.2.0-alpha07androidx.activity:activity-ktx:1.2.0-alpha07 がリリースされました。バージョン 1.2.0-alpha07 に含まれるコミットについては、こちらをご覧ください

新機能

  • Activity Result API を使用するときに Fragment 1.3.0-alpha07 を使用していることを確認する新しい InvalidFragmentVersionForActivityResult lint チェックを追加しました。これにより、古いバージョンの Fragment の使用に起因する、「無効なリクエスト コード」問題によるランタイムのクラッシュと、権限リクエストの動作不能を回避できます。(b/152554847

外部からの協力

  • RequestPermission Activity Result コントラクトの結果を解析する際に ArrayIndexOutOfBoundsException が発生する問題が解決されました。(I8f9e3b/161057605

バージョン 1.2.0-alpha06

2020 年 6 月 10 日

androidx.activity:activity:1.2.0-alpha06androidx.activity:activity-ktx:1.2.0-alpha06 がリリースされました。バージョン 1.2.0-alpha06 に含まれるコミットについては、こちらをご覧ください

新機能

  • Kotlin の ActivityResult クラスを分割して、requestCodeintent に直接アクセスできるようになりました。(b/157212935
  • ActivityResultLauncher で、ランチャーの登録に使用された ActivityResultContract を取得できるようになりました。(b/156875743

API の変更

  • 互換性を破る変更: ActivityResultRegistryinvoke() メソッドの名前を onLaunch() に変更しました。(b/157496491
  • 結果が返されない場合に、OpenMultipleDocuments コントラクトが登録済みのコールバックに null ではなく空のリストを返すようになりました。(b/157348014

バージョン 1.2.0-alpha05

2020 年 5 月 20 日

androidx.activity:activity:1.2.0-alpha05androidx.activity:activity-ktx:1.2.0-alpha05 がリリースされました。バージョン 1.2.0-alpha05 に含まれるコミットについては、こちらをご覧ください

新機能

API の変更

  • TakePicture コントラクトは、指定された Uri に画像を書き込む際にカメラアプリでサポートされることがほとんどなかったため、サムネイルの Bitmap ではなく、成功を示す boolean を返すようになりました。(b/154302879
  • ActivityResultLauncherinvoke() 拡張機能が削除され、launch() の明示的な使用により、非同期オペレーションであることがよりわかりやすく示されようになりました。ActivityResultLauncher<Void> および ActivityResultLauncher<Unit>androidx.activity.result パッケージに launch の Kotlin 拡張機能が追加されました。これにより、以前の invoke() 拡張機能の動作をそれぞれミラーリングしていた null または Unit を渡す必要がなくなりました。(aosp/1304674aosp/1304675
  • setFlagsMask()setFlagsValues()IntentSenderRequest.Builder メソッドが単一の setFlags() メソッドに統合されました。(aosp/1302111

バグの修正

  • LifecycleOwnerActivityResultCallback を登録するときに、状態が STARTED に達する前にコールバックがトリガーされる問題を修正しました。(aosp/1309744

動作の変更

  • ActivityResultRegistry は、0 ではなく 0xFFFF で始まるリクエスト コードを生成するようになりました。これにより、アクティビティでstartActivityForResult() または requestPermissions() を使用する際の重複が防止されます。(aosp/1302324

バージョン 1.2.0-alpha04

2020 年 4 月 29 日

androidx.activity:activity:1.2.0-alpha04androidx.activity:activity-ktx:1.2.0-alpha04 がリリースされました。バージョン 1.2.0-alpha04 に含まれるコミットについては、こちらをご覧ください

新機能

  • ActivityResult API に対して startIntentSenderForResult を呼び出すことができるコントラクトを追加しました。(b/153007517

API の変更

  • prepareCall() メソッドの名前が、ここの ComponentActivityFragment 1.3.0-alpha04 の両方で、registerForActivityResult() に変更されました。(aosp/1278717
  • GetContentsOpenDocumentsRequestPermissions コントラクトの名前がそれぞれ GetMultipleContentsOpenMultipleDocumentsRequestMultiplePermissions に変更されました。(aosp/1280161
  • ComponentActivityActivityResultRegisteryOwner インターフェースが実装されました。(aosp/1290888
  • ComponentActivitystartActivityForResult()/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-alpha03androidx.activity:activity-ktx:1.2.0-alpha03 がリリースされました。バージョン 1.2.0-alpha03 に含まれるコミットについては、こちらをご覧ください

新機能

  • TakeVideoPickContactGetContentGetContentsOpenDocumentOpenDocumentsOpenDocumentTreeCreateDocument のコントラクトを ActivityResultContracts が提供する事前ビルド済みのコントラクトのセットに追加しました。(aosp/1262482aosp/1266916aosp/1268960
  • Activity Result API で、オプションの ActivityOptionsCompat を使用して結果のアクティビティを起動できるようになりました。(b/151860054

API の変更

  • TakePicture コントラクトは、イメージを保存する場所を指定する Uri の入力を受け取るようになりました。入力を受け取らない以前のコントラクトの名前を TakePicturePreview に変更しました。(aosp/1262482
  • ActivityResultRegistryregisterActivityResultCallback() メソッドの名前を register() に変更しました。(aosp/1267621
  • ActivityResultLauncherdispose() メソッドの名前を unregister() に変更し、ActivityResultRegistryunregisterResultCallback() を削除しました。(aosp/1267621
  • ActivityResultContactcreateIntent() メソッドは、明示的なインテントを作成できるように、入力に加えて Context を受け取るようになりました。(aosp/1238800
  • ActivityResultContractgetSynchronousResult() をオーバーライドして、startActivityForResult を呼び出さずに結果を提供できるようになりました。これは、リクエストされた権限がすでに付与されている場合に、RequestPermission コントラクトと RequestPermissions コントラクトで「許可」ステータスを正しく提供するために使用されます。(b/151110799
  • これまで使用できた Dial コントラクトは、IntentstartActivityForResult() で使用されることを想定していないため、削除しました。(aosp/1266916
  • 機能の拡張を想定していない Activity Result API の多くが final になりました。これには getActivityResultRegistry()prepareCall() メソッド、invoke() 以外のすべての ActivityResultRegistry のメソッド、オプションの追加機能をサポートしていない複数のデフォルトのコントラクトが含まれます。(b/152439361

バグの修正

  • 構成の変更後にまだ再登録されていないコールバックに結果を提供しようとする際の ActivityResultRegistryNullPointerException を修正しました。ActivityResultRegistry は、こうした保留中の結果を保持し、コールバックが再登録されたときに提供するようになりました。(b/152137004

バージョン 1.2.0-alpha02

2020 年 3 月 18 日

androidx.activity:activity:1.2.0-alpha02androidx.activity:activity-ktx:1.2.0-alpha02 がリリースされました。バージョン 1.2.0-alpha02 に含まれるコミットについては、こちらをご覧ください

新機能

  • ActivityResultRegistry: ComponentActivityActivityResultRegistry が利用できるようになり、アクティビティまたはフラグメントのメソッドをオーバーライドせずに startActivityForResult() + onActivityResult()requestPermissions() + onRequestPermissionsResult() の各フローを処理できるようになりました。ActivityResultContract によりタイプ セーフティーが向上し、これらのフローをテストするためのフックを提供するようになりました。更新された アクティビティから結果を取得するをご覧ください。(b/125158199

バージョン 1.2.0-alpha01

2020 年 3 月 4 日

androidx.activity:activity:1.2.0-alpha01androidx.activity:activity-ktx:1.2.0-alpha01 がリリースされました。バージョン 1.2.0-alpha01 に含まれるコミットについては、こちらをご覧ください

新機能

  • 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-rc03androidx.activity:activity-ktx:1.1.0-rc03 がリリースされました。バージョン 1.1.0-rc03 に含まれるコミットについては、こちらをご覧ください

依存関係の変更

  • Activity が Lifecycle 2.2.0-rc03 と Lifecycle ViewModel SavedState 1.0.0-rc03 に依存するようになりました。

バージョン 1.1.0-rc02

2019 年 11 月 7 日

androidx.activity:activity:1.1.0-rc02androidx.activity:activity-ktx:1.1.0-rc02 がリリースされました。バージョン 1.1.0-rc02 に含まれるコミットについては、こちらをご覧ください

依存関係の変更

  • Activity が Lifecycle 2.2.0-rc02 に依存するようになりました。

バージョン 1.1.0-rc01

2019 年 10 月 23 日

androidx.activity:activity:1.1.0-rc01androidx.activity:activity-ktx:1.1.0-rc01 がリリースされました。1.1.0-beta01 からの変更はありません。バージョン 1.1.0-rc01 に含まれるコミットについては、こちらをご覧ください

バージョン 1.1.0-beta01

2019 年 10 月 9 日

androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01 がリリースされました。バージョン 1.1.0-beta01 に含まれるコミットについては、こちらをご覧ください

依存関係の変更

  • Activity が SavedState 1.0.0 安定版に依存するようになりました。

バージョン 1.1.0-alpha03

2019 年 9 月 5 日

androidx.activity:activity:1.1.0-alpha03androidx.activity:activity-ktx:1.1.0-alpha03 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

新機能

  • Activity が Core 1.1.0 安定版に依存するようになりました。

バグの修正

バージョン 1.1.0-alpha02

2019 年 8 月 7 日

androidx.activity:activity:1.1.0-alpha02androidx.activity:activity-ktx:1.1.0-alpha02 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

新機能

  • SavedStateViewModelFactory は、ComponentActivityby viewModels()ViewModelProvider コンストラクタ、または ViewModelProviders.of() を使用するときのデフォルト ファクトリになりました(b/135716331

バージョン 1.1.0-alpha01

2019 年 7 月 2 日

androidx.activity:activity:1.1.0-alpha01androidx.activity:activity-ktx:1.1.0-alpha01 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

新機能

  • activity が Lifecycle 2.2.0-alpha02 に依存するようになりました(aosp/1007817
  • activity-ktxlifecycle-runtime-ktx への依存関係が追加されました。activity-ktx または activity-ktx に依存するライブラリ(fragment-ktx など)を使用する際、明示的に依存関係に追加する必要がなくなりました(aosp/987162

バージョン 1.0.0

バージョン 1.0.0

2019 年 9 月 5 日

androidx.activity:activity:1.0.0androidx.activity:activity-ktx:1.0.0 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

1.0.0 の主な機能

  • ComponentActivity: ComponentActivity は、Fragment 1.1.0 では FragmentActivity の新しいベースクラスとして、さらに AppCompat 1.1.0 では拡張機能により AppCompatActivity の新しいベースクラスとして機能します。
  • activity-ktx: activity-ktx モジュールには、ViewModels にアクセスするための by viewModels Kotlin プロパティの拡張機能が含まれています。Fragment 1.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-rc01androidx.activity:activity-ktx:1.0.0-rc01 がリリースされました。1.0.0-beta01 からの変更はありません。このバージョンに含まれるコミットについては、こちらをご覧ください。

バージョン 1.0.0-beta01

2019 年 6 月 5 日

androidx.activity::activity:1.0.0-beta01androidx.activity:activity-ktx:1.0.0-beta01 がリリースされました。1.0.0-alpha08 からの変更はありません。このバージョンに含まれるコミットについては、こちらをご覧ください。

バージョン 1.0.0-alpha08

2019 年 5 月 7 日

androidx.activity:activity:1.0.0-alpha08androidx.activity:activity-ktx:1.0.0-alpha08 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

API の変更

  • 互換性を破る変更: すでにサポートが終了していた ComponentActivityaddOnBackPressedCallback メソッドと removeOnBackPressedCallback メソッドが削除されました(aosp/953857
  • OnBackPressedCallbacksetEnabled() メソッドと isEnabled() メソッドが最終版になりました(b/131416833
  • OnBackPressedCallbackremove() メソッドが最終版になりました(aosp/952720
  • OnBackPressedDispatcher にパブリック コンストラクタが追加され、テストなどのために独自のインスタンスを作成できるようになりました(aosp/953431
  • ComponentActivityonBackPressed()@MainThread として明示的にマークされるようになりました(aosp/952721

バグの修正

  • LifecycleOwner で追加された OnBackPressedCalbackhandleOnBackPressed() メソッド内から remove() を呼び出すときの ConcurrentModificationException が修正されました(b/131765095

バージョン 1.0.0-alpha07

2019 年 4 月 25 日

androidx.activity:activity:1.0.0-alpha07androidx.activity:activity-ktx:1.0.0-alpha07 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

API の変更

このリリースでは、onBackPressed() の処理が大幅に変更されています。詳細については、更新された「戻る」カスタム ナビゲーションに関するドキュメントをご覧ください。

  • OnBackPressedCallbackOnBackPressedDispatcher のメソッドは @MainThread としてマークされています(aosp/943813
  • handleOnBackPressed() メソッドが boolean を返さなくなりました。代わりに、OnBackPressedCallback が有効または無効にできる抽象クラスになりました。新しい isEnabled() メソッドは true を返す場合にのみ、handleOnBackPressed() を呼び出し、[戻る] ボタンを処理する必要がありますaosp/944518
  • OnBackPressedDispatcheraddCallback メソッドが Cancellable インスタンスを返さなくなりました。この機能を実現する remove() メソッドが OnBackPressedCallback に追加され、handleOnBackPressed()remove() を呼び出せるようになりました(aosp/944519)(aosp/946316
  • handleOnBackPressed() を実装し isEnabledremove() にアクセスできるラムダを受け取る、addCallback のレシーバ スコープ コールバックが activity-ktx に追加されました(aosp/944520

バージョン 1.0.0-alpha06

2019 年 4 月 3 日

androidx.activity:activity:1.0.0-alpha06androidx.activity:activity-ktx:1.0.0-alpha06 がリリースされました。このバージョンに含まれるコミットについては、こちらをご覧ください。

API の変更

  • ComponentActivity に、@LayoutRes int を受け取る 2 つ目のコンストラクタが追加されました。このコンストラクタは、AppCompatActivity クラスをアノテーションする以前の動作を @ContentView で置き換えます。この方法は、アプリとライブラリの両方のモジュールで機能します(b/128352521
  • getOnBackPressedDispatcher() を介して取得できる新しい OnBackPressedDispatcher を優先して、ComponentActivity の OnBackPressedCallback 関連 API のサポートが終了しました(aosp/922523
  • 新しい OnBackPressedCallbackOnBackPressedDispatcher に追加するメソッドが Cancellable オブジェクトを返すようになり、OnBackPressedDispatcher への明示的な参照を必要とせずに、コールバックを削除できるようになりました(aosp/922523
  • LifecycleOwner に関連付けて OnBackPressedCallback を追加すると、Lifecycle の開始時と停止時に OnBackPressedCallback がそれぞれ追加、削除されるようになりました(aosp/922523

バージョン 1.0.0-alpha05

2019 年 3 月 13 日

androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05 がリリースされました。このリリースに含まれるコミットの完全なリストについては、こちらをご覧ください。

新機能

  • @ContentView アノテーション ルックアップがキャッシュされるようになりました(b/123709449

バージョン 1.0.0-alpha04

2019 年 1 月 30 日

androidx.activity:activity 1.0.0-alpha04androidx.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 では、既存の FragmentActivityAppCompatActivity の新しい基本クラスである ComponentActivity が導入されました。

新機能

  • addOnBackPressedCallback を介して OnBackPressedCallback を登録することにより、アクティビティでメソッドをオーバーライドしなくても onBackPressed() コールバックを受け取れるようになりました。
  • ComponentActivity から ViewModel を取得するための新しい by viewModels() Kotlin プロパティ デリゲートを追加しました。
  • 保留中の入力イベント(クリックなど)が onStop() でキャンセルされるようになりました。

API の変更

  • LifecycleOwnerViewModelStoreOwner の実装が FragmentActivity から ComponentActivity に移動されました。
  • onRetainCustomNonConfigurationInstance のサポートが終了しました。構成の変更に影響されないことを要するオブジェクトを保存するには、ViewModel を使用してください。