我有一个应用程序需要访问android手机的内部存储,如下载文件夹。但是,当我尝试列出文件它alimport在“/ sdcard /”中列出文件返回null?
java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Main extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File root = new File("/"); // Works
File mnt = new File("/mnt/"); // Works
File mnt2 = new File("/mnt/m_internal_storage"); // Crashes
File cus = new File("/custom/"); // Works
File f = new File("/sdcard/"); // Crashes
String[] s = f.list();
for (int x = 0; x < s.length; x++) {
Log.println(Log.ASSERT, "#", s[x]);
}
}
}
此代码将打印目录中的每个文件。它的工作原理与root
,mnt
& cus
但是,当它试图获得的f
& mnt2
列表,返回null
阵列s
崩溃。我如何访问内部文件存储?
我也尝试使用Environment
的功能,大部分失败,我甚至有读/写权限启用外部存储。
编译为7.0。 定位API 23 敏SDK API 18
我使用一个文件浏览,看节目之外的我的电话的文件。我的手机有一个内部下载文件夹和外部文件夹。就像我说'环境'不起作用,我正在使用硬编码来告诉extact目录。第三,你需要运行时权限到R/W内部存储? –
https://developer.android.com/training/basics/data-storage/files.html#WriteInternalStorage没有说明需要内部存储权限。 –
另外'/ sdacard /'是一个错字。 –