Android文件夹的读/写权限

Man*_*noj 5 android read-write android-sdcard

我正在做一个新的Android应用程序.我想在"Android"文件夹中创建一个文件夹,该文件夹在sdcard中可用.在此之前,我想检查该文件夹是否具有读/写权限.我怎么能得到它?任何人都可以帮助我这样做.

poi*_*oae 15

你这是老派的java方式.创建一个文件对象并调用canWrite()canRead().

File f = new File("path/to/dir/or/file");
if(f.canWrite()) {
    // hell yeah :)
}
Run Code Online (Sandbox Code Playgroud)


小智 6

要在Android文件夹中创建文件夹,最好的方法是:

 File path = getExternalFilesDir();
Run Code Online (Sandbox Code Playgroud)

它将是您自己的目录,因此如果您有权限,则可以在外部存储可用时读/写它.要检查这个,请使用以下代码:

boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    mExternalStorageAvailable = true;
    mExternalStorageWriteable = false;
} else {
    // Something else is wrong. It may be one of many other states, but all we need
    //  to know is we can neither read nor write
    mExternalStorageAvailable = mExternalStorageWriteable = false;
}
Run Code Online (Sandbox Code Playgroud)

写入所需的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)