Comment définir rw - r— r— autorisations par programmation?

Je développe une application qui permet de restaurer les applications de données vers /data/data/{packageName}. Après la restauration des fichiers, je suis en train de les permissions rw - r-- r--. Je l'ai mis de cette façon:

public int chmod(File path, int mode) throws Exception {
    Class fileUtils = Class.forName("android.os.FileUtils");
    Method setPermissions = fileUtils.getMethod("setPermissions",
            String.class, int.class, int.class, int.class);
    return (Integer) setPermissions.invoke(null, path.getAbsolutePath(),
            mode, -1, -1);
}

et de l'appel de chmod(file, 644);

Mais quand j'ai vérifier ces fichiers' autorisations dans l'explorateur de fichiers, il m'indique "--- rwx r-x".

Alors, comment puis-je régler les permissions rw - r-- r--?

  • Je pense que vous avez besoin de super-utilisateur l'accès à le faire
  • Oui. J'ai déjà SU d'accès. String cmd = "cp-r" + sourceFile.getAbsolutePath() + "/* " + destinationFile.getAbsolutePath() + "/"; de l'Exécution.getRuntime().exec(new String[] { "su", cmd }); chmod(destinationFile, 644);
  • Je tiens également à modifier les autorisations d'un fichier, et en cherchant je suis venu à votre question. J'ai essayé le même code, mais je n'ai pas pu trouver le FileUtils classe dans android.os paquet. Comment avez-vous utilisé?? Veuillez répondre à ici.
  • Qu'avez-vous vraiment de la recherche pour? android.os paquet a un fichier avec ce nom. Code Source : grepcode.com/file/repository.grepcode.com/java/ext/...
InformationsquelleAutor Rajkiran | 2013-01-28