如何在我的应用程序中禁用吐司消息?

How to disable a toast messages in my app?

我正在制作黑白棋游戏(人类与机器人一起玩)。在我的程序中没有任何 Toast 命令和无限循环,我的游戏只需要很长时间来计算我的机器人的每个下一步动作(我试图让我的机器人更聪明)。由于一些不明确的原因,系统总是在 logcat 中显示 toast 和错误消息的空消息,如下所示,我不想看到它的外观。如何禁用它或所有 Toast 消息?

在logcat中:

Package has already posted 50 toasts. Not showing more

提前致谢!

您可能有创建 toasts 的第三方库。 您可以在 Android Studio 中使用 Find in pathFind usages 来查找祝酒词的显示位置。

虽然没有找到更好的解决方案,但您可以做的是手动进入您的设备设置并阻止来自您的应用程序的通知,这将阻止烦人的吐司。

您还可以使用代码调用您的应用程序通知设置屏幕(已扩展以支持所有 android 版本),并可能稍后实现一个 sharedprefs 例程以仅在第一次显示它(以避免每次都打开设置打开应用程序的时间):

Intent intent = new Intent();
if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
    intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
    intent.putExtra("android.provider.extra.APP_PACKAGE", context.getPackageName());
} else if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
    intent.putExtra("app_package", context.getPackageName());
    intent.putExtra("app_uid", context.getApplicationInfo().uid);
} else {
    intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.setData(Uri.parse("package:" + context.getPackageName()));
}

yourContext.startActivity(intent);

P.S.: 如果您认为对解决您的问题有帮助,请检查此答案是否正确。 T.Y.

Select android studio 中的主包,然后 ctrl+shift+f 搜索所有包和 类,然后写 "toast.show" 找到在您的代码中编写的 toast