目录需要WRITE_EXTERNAL_STORAGE权限。从Android 4.4开始,不再需要因为这个原因声明这个权限了。因为这个目
录不能被其他app访问,所以你可以通过添加maxSdkVersion属性,声明只在低版本的Android设备上请求这个权限。
<manifest …>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
...
Note: 所有存储在getExternalFilesDir())提供的目录中的文件会在用户卸载你的app后被删除。
一旦你选定了你的文件的目录,你需要创建一个不会冲突(collision-resistant)的文件名。你可能同样希望将路径存储在成员变
量中以便以后使用。这是一个使用日期时间戳为新照片生成唯一文件名的范例解决方案:
String mCurrentPhotoPath;
private File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = Environment.getExternalStoragePublicDirectory(