Toast.makeText未在Android11中显示(使用SDK30模拟器)

根据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(或设备 <SDK30)时,会显示吐司。

我是否需要在清单文件中为 Toast 添加任何 <queries> 标签?
https://developer.android.com/about/versions/11/privacy/package-visibility

我也试过以下没有运气。

  1. 重新启动模拟器Toast 未在 Android Q 中显示
  2. 通知 ON Toast 消息未显示

回答

第一种方法

更新Android Emulator30.4.5版本修复了我的错误。PS我也更新Android SDK Platform-Tools31.0.0版本(这也可能有帮助)。

菜单Tools-> SDK Manager-> SDK Tools,设置复选框Android EmulatorV-mode,按 按钮Apply,按 按钮OK,确认。

PS 同样在更新这些 Android Studio 和模拟器后关闭并在新编译之前清理项目。

第二种方法

如果您在使用最新版本的 Android Emulator 时遇到此错误,还有另一种解决方案。你可以试试模拟器的冷启动。菜单Tools-> AVD Manager。找到您的模拟器名称,单击按钮 ? 在它的右侧,选择Cold boot now按钮。


以上是Toast.makeText未在Android11中显示(使用SDK30模拟器)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>