Androidアプリ開発

Android14対応
(非推奨のonBackPressedの対応)

この記事は約8分で読めます。
記事内に広告が含まれています。
スポンサーリンク

この記事は Androidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Java での開発経験、XML構文規則、Android のアプリ開発経験がある方を対象としています。
Android のアプリ開発でお役にたててれば、嬉しいです。
(これから Android のアプリ開発や Java での開発を始めたい方への案内は、
記事の最後で紹介します)

この記事のテーマ


Android14で使用不可になった onBackPressed に対応する

あと味すっきり、フレーバーウォーターがおススメです♪

ポイント

これまでBackキー(戻るボタン)の処理は、onBackPressed をオーバライドして記述していました。
onBackPressed Android 13 から非推奨、Android 14 から使用不可になりました。
これは、Android 13 から導入された予測型「戻る」ジェスチャーに関係があります。
今回は、Android 14 での戻るボタンの実装について、紹介いたします。

予測型「戻る」ジェスチャーのサポートを追加する

Backキー(戻るボタン)の実装

AndroidX の「戻る」ナビゲーションの実装に変更します。
これは、
OnBackPressedDispatcher よってカスタム ジェスチャー ナビゲーションを処理します。

適切な「戻る」ナビゲーションを提供する

Android 12 までのBackキー(戻るボタン)の実装

Backキー(戻るボタン)の処理は、onBackPressed をオーバライドして処理を記述します。
サンプルでは Backキーがタップされたら、MainActivity に画面遷移しています。

    …
    @Override
    public void onBackPressed() {
        Intent intent = new Intent(context, MainActivity.class);
        startActivity(intent);
        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
        finish();
    }
    …

Android 13 以降のBackキー(戻るボタン)の実装

Amdroid13以降では、OnBackPressedDispatcheronBackPressed のコールバックを追加します。
handleOnBackPressed をオーバライドして処理を記述します。
サンプルでは Backキーがタップされたら、MainActivity に画面遷移しています。

import androidx.activity.OnBackPressedCallback;
    …
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        …
        getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
            @Override
            public void handleOnBackPressed() {
                Intent intent = new Intent(context, MainActivity.class);
                startActivity(intent);
                overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
                finish();
            }
        });
        …

今回は、ここまでです。

非推奨のonBackPressedに対応している Androidアプリです。
Backキー(戻るボタン)のタップでアプリを再起動しています。

誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にある
コメントか、
こちらから、お願いいたします♪

ポチッとして頂けると、
次のコンテンツを作成する励みになります♪

ブログランキング・にほんブログ村へ

これからAndroidのアプリ開発やJavaでの開発を始めたい方へ

アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、Java や C# などのオブジェクト指向言語が初めての方は、Android のアプリ開発ができるようになるには、かなりの時間がかかります。オンラインスクールでの習得を、強くおススメします。

未経験者からシステムエンジニアを目指すのに最適かと、
まずは無料相談から♪

未経験者からプログラマーを目指すのに最適かと、
まずは無料カウンセリングから♪

カリキュラムとサポートがしっかりしています、
お得なキャンペーンとかいろいろやっています♪

ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適かと、
まずは無料オンライン相談から♪

参考になったら、💛をポッチとしてね♪