Avec l'aide de Andrew J'ai lancé la commande :
adb shell "pm list packages -f"
pour obtenir la liste des paquets, puis analyser leurs propriétés (script Bash) :
list='com.google.android.youtube com.viber.voip'
mkdir -p dump
for i in $list; do
adb.exe shell appops get $i |& tee -a dump/$i.txt
done
J'ai ensuite recherché le mot clé TOAST_WINDOW
. pour l'application Youtube, c'est le cas :
Uid mode: COARSE_LOCATION: ignore
LEGACY_STORAGE: allow
VIBRATE: allow; time=+7h31m46s232ms ago; duration=+27ms
TAKE_AUDIO_FOCUS: allow; time=+28m45s847ms ago
WAKE_LOCK: allow; time=+1h13m24s504ms ago; duration=+9s138ms
TOAST_WINDOW: allow; time=+1h12m25s632ms ago; duration=-24855d3h14m7s312ms
START_FOREGROUND: allow; time=+82d1h9m54s814ms ago; duration=+2m34s513ms
USE_BIOMETRIC: allow; time=+40d0h55m4s406ms ago
La ligne :
WAKE_LOCK: allow; time=+1h13m24s504ms ago; duration=+9s138ms
indique probablement que le dernier toast a eu lieu il y a 1 heure et qu'il a duré 9 secondes. Cela ressemble à ce que nous avons vécu !
J'ai donc désactivé ce privilège :
# adb shell appops set com.google.android.youtube TOAST_WINDOW deny
# adb shell appops get com.google.android.youtube
...
TOAST_WINDOW: deny; time=+1h23m2s506ms ago; duration=-24855d3h14m7s312ms
J'espère que cela résoudra le problème. Je ne sais pas si une mise à jour de l'application réinitialise les paramètres de l'utilisateur...
アップデイト Cet élément de l'interface utilisateur est appelé Toast .
Il semble que la durée d'un toast soit codée en dur dans les sources d'Android :