如何在Android 12中配置Toast图标?

Den*_*nis 49 android toast android-12 android-api-31

从 Android 12 开始,Google 会显示带有应用图标的 Toast 消息。

我的应用程序有启动器图标。Android 12 初始屏幕正确显示应用程序图标。

通过代码显示 toast

Toast.makeText(this, "Show simple toast", Toast.LENGTH_LONG).show()
Run Code Online (Sandbox Code Playgroud)

编译SdkVersion/targetSdkVersion 31

android 模拟器 Google play Intel x86 Atom_64 系统映像 API 级别 31,修订版 8。

如何更改此默认 toast 图标?

在此输入图像描述

小智 45

对我来说,简单地重新启动设备就可以了。

\n

更新到 Android 12 后我根本没有重新启动我的测试手机。我遇到了同样奇怪的错误,即我的应用程序发出的 Toast 中显示了通用应用程序图标。我尝试按照 Micka\xc3\xabl\xe2\x80\x98s 答案的建议更改清单。没有运气。我最终得到了与开始调试 \xe2\x80\xa6 之前应用程序完全相同的清单,然后重新启动了设备。我的应用程序现在可以在 Toast 中可靠地显示正确的图标。发生了什么?不确定。我怀疑重新启动可能会触发图标缓存刷新,该刷新会抓取所有已安装的应用程序以搜索新的/更新的应用程序图标。

\n

  • 重新启动也为我做到了。好像是系统问题? (5认同)
  • 只有重新启动对我在小米上有帮助,我什至删除了应用程序并重新安装了它,但没有帮助 (2认同)
  • 在 Pixel 6 上,重启是唯一对我有用的方法 >.< (2认同)

spe*_*ler 12

似乎这个问题已报告给 Google,并分配给 Google 工程师: https://issuetracker.google.com/issues/202863198


小智 1

运行一些测试后,我发现<application android:icon="@drawable/ic_stat_name" ...使用“图像资源”>“通知图标”生成的可绘制对象的设置会覆盖默认的 toast 图标。

但是,这不适用于作为“图像资源”>“启动器图标”生成的可绘制对象。所以在这一点上,我猜想 Android Studio 的生成工具中缺少一些东西。