2016-04-21 1 views
1

Récemment, j'ai commencé à recevoir des erreurs ANR lors de l'appel getExternalFilesDir(null) de mon code d'activité. Ce code fonctionnait plus tôt, mais maintenant, peut-être après la mise à jour des outils de compilation, il y a un tel problème. Nettoyer le projet et reconstruire n'aident pas. Quelqu'un at-il eu ce problème aussi? Merci d'avance.Android: ANR lors de l'appel getExternalFilesDir (null)

L'exemple de code. L'application se bloque avec dialogue ANR sur la première ligne File folder = getExternalFilesDir(null);

// check if downloaded files take less memory than EPISODES_SIZE_WARNING_LIMIT_MB 
private void checkFolderSize() { 
    File folder = getExternalFilesDir(null); 
    if (folder != null) { 
     long length = 0; 
     for (File file : folder.listFiles()) 
      if (file.isFile()) 
       length += file.length(); 
     double sizeMb = ((double)length)/1024/1024; 
     if (sizeMb > EPISODES_SIZE_WARNING_LIMIT_MB) { 
      new AlertDialog.Builder(this) 
        .setTitle(R.string.dialog_warning) 
        .setMessage(getString(R.string.warning_used_memory, EPISODES_SIZE_WARNING_LIMIT_MB)) 
        .setNeutralButton(R.string.dialog_ok, null) 
        .show(); 
     } 
    } 
} 
+0

Il suffit de ne pas le faire sur le fil principal ... – Selvin

+0

@Selvin: cette méthode devrait fonctionner dans le fil principal –

Répondre

0

Ce problème était de l'appareil. Après le redémarrage, cela fonctionne.