编辑:这是用户错误(对不起)。我已经在下面回答了。是否可以在没有root权限的情况下读取单独复制到Android sd卡的数据?
我正在开发一个需要访问SD卡上的数据的应用程序。当我我的开发设备上运行(与Android 2.1的odroid)我有root权限,并使用可以构建路径:
File sdcard = Environment.getExternalStorageDirectory();
String path = sdcard.getAbsolutePath() + File.separator + "mydata"
File data = new File(path);
File[] files = data.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
return filename.toLowerCase().endsWith(".xyz");
}});
然而,当我在手机上安装此(2.1),在那里我没有root访问我得到的文件== null。我认为这是因为我没有从SD卡读取数据的正确权限。当我试图列出/ sdcard上的文件时,我也会得到files == null。所以没有我建造的路径也是如此。
此外,此应用程序不打算通过应用程序商店分发,并需要使用数据分别复制到SD卡,所以这是一个真正的用例。这是太多的数据放在水库/原始(我试过了,它没有工作)。
我也尝试添加:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
到清单,即使我只是想读SD卡,但它并没有帮助。我还没有找到用于读取存储的许可类型。
可能有正确的方法来做到这一点,但我一直没有找到它。任何提示都会有用。