问题描述
根据 https://developer.android.com/about/versions/11/behavior-changes-11#toasts 的说法,Toasts 在 Android11 上应该仍然可以正常工作(只有 setView() 被弃用)。
请注意,仍然允许文本吐司;这些是使用不调用 setView() 的 Toast.makeText() 创建的吐司。
但是,我无法为运行 SDK30 的模拟器显示 Toast
compileSdkVersion 30
buildToolsversion "30.0.3"
and with targetSdkVersion 30
使用的代码很简单
Toast.makeText(getApplicationContext(),"HELLO WORLD",Toast.LENGTH_SHORT).show();
当我将 targetSdk 更改为 29(或使用设备 我需要在清单文件中为 Toast 添加任何 我也尝试了以下方法但没有成功。
解决方法
第一种方法
将 Android Emulator
更新到 30.4.5
版本为我修复了错误。附注我还将 Android SDK Platform-Tools
更新为 31.0.0
版本(这也可能有帮助)。
菜单Tools
-> SDK Manager
-> SDK Tools
,将Android Emulator
的复选框设置为V
-模式,按下按钮Apply
,按下按钮 OK
,确认。
附言同样在更新这些之后,Android Studio 和模拟器被关闭,并且在新编译之前清理了项目。
第二种方法
如果您在使用最新版本的 Android Emulator 时遇到此错误,还有另一种解决方案。你可以试试模拟器的冷启动。菜单 Tools
-> AVD Manager
。找到您的模拟器名称,点击右侧的按钮 ▼,选择 Cold boot now
按钮。