繁体   English   中英

从外部SD卡存储器访问文件

[英]Accessing files from external SD card memory

我对Android生态系统非常陌生。 我是否可以得出一个明确的结论,即任何应用程序都可以读取外部SD存储器中存储的任何文件?

警告尽管MediaStore内容提供程序无法访问getExternalFilesDir()和getExternalFilesDirs()提供的目录,但是具有READ_EXTERNAL_STORAGE权限的其他应用程序可以访问外部存储器上的所有文件,包括这些文件。 如果需要完全限制对文件的访问,则应将文件写入内部存储。 http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

是的,您可以,但是如果要在KitKat OS及更高版本上部署应用程序,则需要了解一些重要信息。 您不能再像以前那样在SD卡/内部存储器中的任何位置进行写入。 公共目录仍然可以写入(下载,图片,视频等)中,仅此而已。 您可以为应用程序写入私有存储,而应用程序只能从该存储读取数据,但是如果您正在浏览sdCard的内容,则将无法查看该位置或文件。 唯一的例外是您的手机是否已扎根。

http://www.androidcentral.com/kitkat-sdcard-changes

写入应用程序私有存储的示例:

//Write to internal app storage
            FileOutputStream internalStorage = null;

        try
        {
            internalStorage = openFileOutput("capturedImage", Context.MODE_PRIVATE);

        } 
        catch (FileNotFoundException e1)
        {
            e1.printStackTrace();
        }

        BufferedOutputStream buffer_output = new BufferedOutputStream(internalStorage);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, buffer_output);
        try
        {
            buffer_output.flush();
            buffer_output.close();
        }
        catch (IOException e)
        {

            e.printStackTrace();
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM