[英]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.