Trong ứng dụng Android của tôi, tôi lưu một số tệp vào thư mục Environment.getExternalStorageDirectory() + "\MyApp"
. Điều này làm việc tốt cho đến khi cập nhật Android 6 marshmallow. Sau khi cập nhật marshmallow, tôi không thể ghi vào thư mục này.Tôi có cần kiểm tra quyền thời gian chạy để ghi vào đường dẫn getExternalFilesDir() trong marshmallow không?
Như được mô tả trong câu trả lời this, trong marshmallow, ứng dụng cần phải yêu cầu sự cho phép của người dùng trong thời gian chạy trước khi ghi vào bộ nhớ ngoài.
Nhưng, khi tôi sử dụng context.getExternalFilesDir(null)
thay vì Environment.getExternalStorageDirectory()
, tôi không cần phải hỏi cho bất kỳ sự cho phép trong thời gian chạy và nó chỉ hoạt động (con đường trở về từ context.getExternalFilesDir(null)
cũng là bên trong thư mục lưu trữ bên ngoài).
Đây có phải là một loại trùng hợp ngẫu nhiên hoặc tôi có thể tiếp tục viết thư cho context.getExternalFilesDir(null)
mà không cần xin phép khi chạy không?
Bạn có thực sự có khả năng viết các tập tin để lưu trữ bên ngoài mà không yêu cầu sự cho phép trên Android 6? –