ce que la politique = 23 signifie?
Vous pouvez configurer StrictMode pour vous informer de certaines choses et vous pouvez lui dire comment vous souhaitez être averti (message simple journal, exception, ...). Voir la Activation Section StrictMode dans this blog post pour référence.
La stratégie est un masque de bits qui assure le suivi de cette configuration en interne. Comme c'est un masque, il est plus intuitif de l'interpréter en binaire, qui est 10111. Ensuite, vous pouvez rechercher les bits pertinents dans le fichier source BlockGuard.java
. Voici une courte copie de this site(pas sûr de la version Android qui est, il pourrait y avoir plus de choses dans les versions plus récentes, je n'ai pas la source de courant sur ma machine en ce moment):
public static final int DISALLOW_DISK_WRITE = 0x01;
public static final int DISALLOW_DISK_READ = 0x02;
public static final int DISALLOW_NETWORK = 0x04;
public static final int PASS_RESTRICTIONS_VIA_RPC = 0x08;
public static final int PENALTY_LOG = 0x10;
public static final int PENALTY_DIALOG = 0x20;
public static final int PENALTY_DEATH = 0x40;
Avec que vous pouvez dire que votre StrictMode est configuré pour vous informer des violations DISK_READ, DISK_WRITE et NETWORK via un message de journal.
et qu'est-ce que violation = 2?
Ceci est juste le type de la vialolation comme une constante int interne. Cela ne vous aide pas beaucoup puisque le nom de l'exception le donne déjà. L'auteur vient de définir une méthode getMessage()
utilisée dans toutes les différentes exceptions StrictMode sous-classées. Juste pour référence, ces constantes sont définies dans StrictMode.java.
Comme pour Android aujourd'hui, la liste des politiques est dans le 'StrictMode.java' [code source] (https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android /os/StrictMode.java). Actuellement, ils ne sont pas affichés dans la documentation. Notez que la plupart des noms de constante reflètent maintenant les noms de méthodes correspondants. –