Android KitKat无法读/写内部卡

时间:2014-12-09 19:42:05

标签: java android android-4.4-kitkat

我有一个使用Android 4.2 的应用程序。 我的应用程序正在读取.csv文件以搜索信息。 应用程序及其文件位于外部SD卡上,无法读取SD卡上的Android KitK。

所以我把所有文件都移到了内部卡上。 所以我创建了一个名为" mydata"的目录。在/ storage / emulated / 0中,我认为是内部卡。 使用 ESExplorer 为Android我设法传输我的文件 从外部SD卡到内部。

新创建的dir具有r / w权限(我可以在ESexplorer上看到它)" world"并且文件也是R / W.

我的程序在4.2中运行,无法再读取文件。 Java程序说"文件不存在"。 我是否必须为该程序提供一些权限? 我不想根我的手机......但

请使用4.4开发

找到我使用的代码(android / eclipse / juno)
    // test existence of path
    public boolean exists(String path) {
    File f = new File(path);
        boolean b = f.exists();
        return b;
    }
    private void testPath() {
        boolean b;
        putLog("testPath " + "start");
        String path;
        String dir = getFilesDir().getAbsolutePath();
        putLog("dir= " + dir);
        // Set the path for the file of books/films/disk etc according to device
        path = "/storage/sdcard0";
        b=fm.exists(path);
        putLog(path+"="+b);

        path = "/storage/emulated/0";
        b=fm.exists(path);
        putLog(path+"="+b);

        path = "/storage/sdcard0/mydata";
        b=fm.exists(path);
        putLog(path+"="+b);

        path = "/storage/emulated/0/mydata";
        b=fm.exists(path);
        putLog(path+"="+b);
        // db is seen R/W access by ESexplorer
        path = "/storage/sdcard0/mydata/db";
        b=fm.exists(path);
        putLog(path+"="+b);

        path = "/storage/emulated/0/mydata/db";
        b=fm.exists(path);
        putLog(path+"="+b);

        putLog("end");
    }
-LOG:
-12-10 07:38:06.137: D/SMV1(12546): getAppPath start
-12-10 07:38:06.137: D/SMV1(12546): testPath start
-12-10 07:38:06.137: D/SMV1(12546): dir= /data/data/com.abf.searchmedia/files
-12-10 07:38:06.137: D/SMV1(12546): /storage/sdcard0=true
-12-10 07:38:06.147: D/SMV1(12546): /storage/emulated/0=true
-12-10 07:38:06.147: D/SMV1(12546): /storage/sdcard0/mydata=true
-12-10 07:38:06.147: D/SMV1(12546): /storage/emulated/0/mydata=true
-//------ db is seen non existent, but ESexplorer sees it and says RW 
-12-10 07:38:06.147: D/SMV1(12546): /storage/sdcard0/mydata/db=false
-12-10 07:38:06.147: D/SMV1(12546): /storage/emulated/0/mydata/db=false

0 个答案:

没有答案