Upgrade to Pro — share decks privately, control downloads, hide ads and more …

通知がOFFだとToastは表示されな… されてる!?

通知がOFFだとToastは表示されな… されてる!?

0c5e92294cc0cfba620641c589db9378?s=128

napplecomputer

June 14, 2022
Tweet

More Decks by napplecomputer

Other Decks in Technology

Transcript

  1. Mobility Technologies Co., Ltd. 通知がOFFだとToastは表示されな… されてる!? @napplecomputer

  2. Mobility Technologies Co., Ltd. 2 ▪ なっぴー ▪ @napplecomputer ▪

    株式会社Mobility Technologies所属 ▪ タクシーアプリGOのユーザーアプリ ▪ 最近車を買いました 自己紹介
  3. Mobility Technologies Co., Ltd. Notification runtime permission 3

  4. Mobility Technologies Co., Ltd. 4 ▪ Android13 でNotification runtime permissionが導入

    ▪ Android13では通知を表示するにはruntime permissionでnotificationの permissionを得る必要がある ▪ permissionと通知のenable/disableは連動している ▪ 拒否されると通知が表示できない! Notification runtime permission
  5. Mobility Technologies Co., Ltd. 5 Notification runtime permission 地雷を踏みがちなAndroidアプリエンジニア

  6. Mobility Technologies Co., Ltd. 6 Notification runtime permission つまりToast表示にも Permissionが必要になるのか

  7. Mobility Technologies Co., Ltd. 7 Notification runtime permission 通知OFFだと Toast表示されないので

  8. Mobility Technologies Co., Ltd. 8 Notification runtime permission 試したら通知OFFでも Toast表示されましたよ

  9. Mobility Technologies Co., Ltd. 9 Notification runtime permission えっ!?

  10. Mobility Technologies Co., Ltd. Toastと通知OFF 10

  11. Mobility Technologies Co., Ltd. 11 ▪ Android4.1.xからは通知をOFFにするとToastを表示することができなかった ▪ この仕様はなぜかドキュメントに書かれていない ▪

    そもそも仕様なのか不具合なのか… ▪ このあたりの話はQiitaなどで検索しても出てきます ▪ この事に気がついたAndroidアプリエンジニアはToastは必ずしも表示され るわけではないということを前提にアプリを作るようになった Toastと通知OFF
  12. Mobility Technologies Co., Ltd. 12 ▪ この仕様がいつの間にか変わっていた ▪ ドキュメントに書いてないから変わっても気が付かない… Toastと通知OFF

  13. Mobility Technologies Co., Ltd. Toastと通知OFFの 現在の関係 13

  14. Mobility Technologies Co., Ltd. 14 ▪ いつから表示されているのか、https://cs.android.com/ でソースを追う ▪ Android10から挙動が変わったっぽい

    Toastと通知OFFの現在の関係
  15. Mobility Technologies Co., Ltd. 15 Toastと通知OFFの現在の関係 引用元:https://cs.android.com/android/platform/superproject/+/android- 10.0.0_r1:frameworks/base/services/core/java/com/android/server/notification/No tificationManagerService.java;l=2267-2268?hl=ja

  16. Mobility Technologies Co., Ltd. 16 ▪ Android10以降ではバックグラウンドでかつ通知がOFFの場合、Toastが表示 されない ▪ フォアグラウンドでは通知がOFFでもToastは表示される!

    Toastと通知OFFの現在の関係
  17. Mobility Technologies Co., Ltd. 17 なぜ??? Toastと通知OFFの現在の関係

  18. Mobility Technologies Co., Ltd. 18 ▪ 変更コミットには「Always allow toasts from

    foreground apps」 ▪ つまり意図した変更 ▪ https://cs.android.com/android/_/android/platform/frameworks/base/+/58 b2453ed69197d765c7254241d9966ee49a3efb ▪ Issueは「Status: Won't Fix (Obsolete)」で閉じられていた ▪ https://issuetracker.google.com/issues/36951147#comment21 Toastと通知OFFの現在の関係
  19. Mobility Technologies Co., Ltd. まとめ 19

  20. Mobility Technologies Co., Ltd. 20 ▪ Android10以降ではフォアグラウンドなら通知がOFFでもToastは表示される ようになってた! ▪ 理由は不明

    まとめ