1. ホーム
  2. android

[解決済み] android api 30+で "Missing PendingIntent mutability flag" lint warningを解決するには?

2023-01-02 04:42:20

質問

ターゲットを更新した途端 SDKを更新しました。 30 (Android R)の場合、lint警告 Missing PendingIntent mutability flag が表示されました。 PendingIntent.FLAG_UPDATE_CURRENT フラグを定義したい場合 PendingIntent .

アプリの機能に影響を与えないように、このlintをどのように処理すればよいでしょうか?

どのように解決するのですか?

保留中のインテントを次のように設定します。

val updatedPendingIntent = PendingIntent.getActivity(
   applicationContext,
   NOTIFICATION_REQUEST_CODE,
   updatedIntent,
   PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT // setting the mutability flag 
)

ここのドキュメントによると https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability

FLAG_IMMUTABLE を使用することを強く推奨します。 PendingIntent が mutable であることに依存している機能がある場合。 例えば、インライン返信やバブルで使用する必要がある場合などです。

それに応じてフラグを選択してください。

このことについてもっと知りたい方は、こちらの記事をご覧ください。 https://medium.com/androiddevelopers/all-about-pendingintents-748c8eb8619