Toast.makeText未在Android 11中显示(带有SDK 30模拟器)



根据https://developer.android.com/about/versions/11/behavior-changes-11#toasts,Toast对于Android11应该仍然正常工作(只反对使用setView(((。

请注意,文本祝酒词仍然是允许的;这些是使用Toast.makeText((创建的Toast,不调用setView((。

但是,我无法为使用运行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。

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

我也尝试过以下几种,但没有成功。

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

第一种方法

Android Emulator更新为30.4.5版本为我修复了错误。p.S.我还将Android SDK Platform-Tools更新为31.0.0版本(这可能也有帮助(。

菜单Tools->SDK Manager->SDK Tools,将Android Emulator的复选框设置为V-模式,按下按钮Apply,按下按钮OK,确认。

附言:同样在更新这些之后,安卓工作室和模拟器被关闭,项目在新编译之前被清理。

第二种方法

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

最新更新