android - 是否可以在没有root权限的情况下读取已单独复制到Android sd卡的数据?

标签 android permissions storage android-sdcard

编辑:这是用户错误(抱歉)。我已经在下面回答了。

我正在开发一个需要访问 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");
    }});

但是,当我在没有 root 访问权限的手机 (2.1) 上安装它时,我得到文件 == null。我认为这是因为我没有从 SD 卡读取数据的正确权限。当我试图在/sdcard 上列出文件时,我也得到 files == null。因此,如果没有我构建的路径,这同样适用。

此外,此应用不打算通过应用商店分发,需要使用单独复制到 SD 卡的数据,因此这是一个真实的用例。放入res/raw的数据太多(我试过了,没用)。

我也试过添加:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

到manifest,虽然我只想读sd卡,但是没用。我没有找到读取存储的权限类型。

可能有一个正确的方法来做到这一点,但我还没有找到它。任何提示都会有用。

最佳答案

所以我只花了半个小时写了这个问题,然后我断开了手机并连接了它,但没有安装它作为驱动器。

这就是问题所在。现在可以了。

抱歉浪费您的时间。 :/

关于android - 是否可以在没有root权限的情况下读取已单独复制到Android sd卡的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2765891/

相关文章:

java - 适用于 Android 的 C++ 或 Java?

android - 动态改变Textview大小

android - 围绕自身旋转图像按钮而不移动它

java - 为什么我的if语句条件是: "if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE)" always false?

android - 为什么我们需要一个 Intent 来创建一个 Activity ?

ubuntu - Amazon Ubuntu 实例上的权限问题

ios - 当我向 iOS 请求许可时,可以更改措辞并重新定义按钮吗?

android - 无法在 Android 设备的外部存储中创建文件夹

function - Azure Functions - WindowsAzure.Storage 库在 VS 2017 中不起作用

api - 使用 BigQuery Storage API(测试版)启动和读取多个流