@@ -274,6 +274,10 @@ public static File getDataDirectory() {
274274 * built-in storage in a device that is distinct from the protected
275275 * internal storage and can be mounted as a filesystem on a computer.</em></p>
276276 *
277+ * <p>On devices with multiple users (as described by {@link UserManager}),
278+ * each user has their own isolated external storage. Applications only
279+ * have access to the external storage for the user they're running as.</p>
280+ *
277281 * <p>In devices with multiple "external" storage directories (such as
278282 * both secure app storage and mountable shared storage), this directory
279283 * represents the "primary" external storage that the user will interact
@@ -286,7 +290,16 @@ public static File getDataDirectory() {
286290 * Context.getExternalFilesDir}, which the system will take care of deleting
287291 * if the application is uninstalled. Other shared files should be placed
288292 * in one of the directories returned by
289- * {@link #getExternalStoragePublicDirectory}.
293+ * {@link #getExternalStoragePublicDirectory}.</p>
294+ *
295+ * <p>Writing to this path requires the
296+ * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} permission. In
297+ * a future platform release, access to this path will require the
298+ * {@link android.Manifest.permission#READ_EXTERNAL_STORAGE} permission,
299+ * which is automatically granted if you hold the write permission.</p>
300+ *
301+ * <p>This path may change between platform versions, so applications
302+ * should only persist relative paths.</p>
290303 *
291304 * <p>Here is an example of typical code to monitor the state of
292305 * external storage:</p>
@@ -423,6 +436,10 @@ public static File getEmulatedStorageObbSource() {
423436 * to ensure you don't erase their files or get in the way of their own
424437 * organization.
425438 *
439+ * <p>On devices with multiple users (as described by {@link UserManager}),
440+ * each user has their own isolated external storage. Applications only
441+ * have access to the external storage for the user they're running as.</p>
442+ *
426443 * <p>Here is an example of typical code to manipulate a picture on
427444 * the public external storage:</p>
428445 *
@@ -500,7 +517,10 @@ public static File getExternalStorageAppCacheDirectory(String packageName) {
500517 }
501518
502519 /**
503- * Gets the Android Download/Cache content directory.
520+ * Gets the Android download/cache content directory.
521+ * <p>
522+ * Access to this path requires the
523+ * {@link android.Manifest.permission#ACCESS_CACHE_FILESYSTEM} permission.
504524 */
505525 public static File getDownloadCacheDirectory () {
506526 return DOWNLOAD_CACHE_DIRECTORY ;
@@ -563,7 +583,7 @@ public static File getDownloadCacheDirectory() {
563583 /**
564584 * Gets the current state of the primary "external" storage device.
565585 *
566- * <p>See {@link #getExternalStorageDirectory()} for more information.
586+ * @see #getExternalStorageDirectory()
567587 */
568588 public static String getExternalStorageState () {
569589 try {
0 commit comments