この記事はAndroidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Javaの開発経験、XML構文規則、Androidのアプリ開発経験がある方を対象としています。
Androidのアプリ開発でお役にたててれば、嬉しいです。
(これからAndroidのアプリ開発やJavaでの開発を始めたい方への案内は、記事の最後で紹介します)
Android13で非推奨になったgetParcelableExtraに対応する
ポイント
Intentを使用してアプリ間でUriを連携する際に使用するgetParcelableExtraですが、Andorid13で非推奨となりました。
今回は、非推奨になったgetParcelableExtraをAndroid13以降に対応する実装方法を紹介いたします。
getParcelableExtra
IntentでUriを引き渡す
内部ストレージにあるファイルをアプリ間で連携する場合、IntentでUriを引き渡します。
IntentでUriを引き渡す実装で使用するメソッドがgetParcelableExtraです。
Android12までの実装
Intentに含まれているUriをgetParcelableExtraで取り出します。
:
private String EXTRA_TEXT;
private String EXTRA_SUBJECT;
private Uri EXTRA_STREAM;
:
@Override
public int onStartCommand(@SuppressLint("UnsafeIntentLaunch") Intent intent, int flags, int startId) {
// 引数セット
EXTRA_TEXT = intent.getStringExtra(Intent.EXTRA_TEXT);
EXTRA_SUBJECT = intent.getStringExtra(Intent.EXTRA_SUBJECT);
EXTRA_STREAM = intent.getParcelableExtra(Intent.EXTRA_STREAM);
:Android13以降の実装
IntentのgetParcelableExtraでUriを取り出している部分をIntentCompatを使用して、IntentからUriを取り出します。
:
private String EXTRA_TEXT;
private String EXTRA_SUBJECT;
private Uri EXTRA_STREAM;
:
@Override
public int onStartCommand(@SuppressLint("UnsafeIntentLaunch") Intent intent, int flags, int startId) {
// 引数セット
EXTRA_TEXT = intent.getStringExtra(Intent.EXTRA_TEXT);
EXTRA_SUBJECT = intent.getStringExtra(Intent.EXTRA_SUBJECT);
EXTRA_STREAM = IntentCompat.getParcelableExtra(intent, Intent.EXTRA_STREAM, Uri.class);
:今回は、ここまでです。
非推奨のgetParcelableExtraに対応しているAndroidアプリです。
誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にあるコメントか、
こちらから、お願いいたします♪
ポチッとして頂けると、
次のコンテンツを作成する励みになります♪
これからAndroidのアプリ開発やJavaでの開発を始めたい方へ
アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、JavaやC#などのオブジェクト指向言語が初めての方は、Androidのアプリ開発ができるようになるには、かなりの時間がかかります。
オンラインスクールでの習得を、強くおススメします。
未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪

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

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


コメント欄