Je construis un jeu Othello (jeu humain avec bot). Dans mon programme, je n'ai pas de commande Toast et de boucle infinie, mon jeu prend juste beaucoup de temps à calculer pour chaque prochain mouvement de mon bot (j'essaie de rendre mon bot plus intelligent). Pour une raison peu claire, le système affiche toujours un message vide par toast et un message d'erreur dans logcat comme ci-dessous et je ne veux pas voir son apparence. Comment puis-je le désactiver, ou tous les messages Toast?

enter image description here

Dans logcat:

Package has already posted 50 toasts. Not showing more

Merci d'avance!

-1
Ta Quang Tu 23 mai 2018 à 18:26

3 réponses

Meilleure réponse

Vous pouvez avoir une bibliothèque tierce qui crée des toasts. Vous pouvez utiliser Find in path ou Find usages dans Android Studio pour trouver où les toasts sont affichés.

1
Andrei N 23 mai 2018 à 15:56

Ce que vous pouvez faire, sans trouver de meilleure solution, c'est de saisir manuellement les paramètres de votre appareil et de bloquer les notifications de votre application, cela bloquera les toasts gênants.

Vous pouvez également appeler l'écran des paramètres de notifications de votre application avec le code (développé pour prendre en charge toutes les versions d'Android) et peut-être plus tard implémenter une routine sharedprefs pour ne l'afficher que la première fois du tout (pour éviter d'ouvrir les paramètres à chaque fois que vous ouvrez l'application):

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 .: Veuillez vérifier que cette réponse est correcte si vous pensez qu'il a été utile de répondre à votre question. T.Y.

1
statosdotcom 23 mai 2018 à 16:48

Sélectionnez le package principal dans Android Studio, puis ctrl + shift + f pour rechercher dans tous vos packages et classes, puis écrivez "toast.show" pour trouver le toast qui est écrit dans votre code

0
Bita Karimi 23 mai 2018 à 17:00