From 9b4755c0ce090a14dfb7599a238b044dcdfd5ee4 Mon Sep 17 00:00:00 2001 From: jinwu Date: Wed, 18 Apr 2018 18:03:00 +0800 Subject: Fix issue of can't save image in sdcard on P Android P not allow apps to write/read SD Card public area and only allow apps to access the application private area. So save to specific path. Change-Id: I3226eefd75f8a81f7b730ba26a8fbbbc6ead02a7 --- src/com/android/camera/SDCard.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/com/android/camera/SDCard.java') diff --git a/src/com/android/camera/SDCard.java b/src/com/android/camera/SDCard.java index b88e32245..3d3ce6708 100644 --- a/src/com/android/camera/SDCard.java +++ b/src/com/android/camera/SDCard.java @@ -32,16 +32,20 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.os.Build; import android.os.Environment; import android.os.storage.StorageVolume; import android.os.storage.StorageManager; import android.util.Log; +import java.io.File; + public class SDCard { private static final String TAG = "SDCard"; private static final int VOLUME_SDCARD_INDEX = 1; + private Context mContext; private StorageManager mStorageManager = null; private StorageVolume mVolume = null; private String mPath = null; @@ -62,7 +66,17 @@ public class SDCard { return null; } if (mPath == null) { - mPath = mVolume.getPath() + "/DCIM/Camera"; + File[] dirs = mContext.getExternalFilesDirs(null); + if (dirs != null) { + String dir; + for (int i=0; i