# Android 13 MANAGE\_EXTERNAL\_STORAGE stops working, what can I do?

**URL:** https://discourse.processing.org/t/android-13-manage-external-storage-stops-working-what-can-i-do/40362
**Category:** Processing for Android
**Created:** [December 29, 2022, 1:00pm UTC](https://discourse.processing.org/t/android-13-manage-external-storage-stops-working-what-can-i-do/40362 "2022-12-29T13:00:06Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![shedMusic](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/shedmusic/32/601_2.png) [@shedMusic](https://discourse.processing.org/u/shedMusic)
#### Post date: [January 15, 2023, 8:35am UTC](https://discourse.processing.org/t/android-13-manage-external-storage-stops-working-what-can-i-do/40362/5 "2023-01-15T08:35:21Z")

</div>

@bigboss97

Here it is 😲

```auto
import android.content.Intent;
import android.net.Uri;
import android.provider.DocumentsContract;
import android.content.Context;
import android.content.ContentResolver;
import android.app.Activity;

Context context ;
Activity activity ;
byte[] saveArray = {0, 1, 2, 3, 4, 5, 6, 7} ; //dummy data
byte[] loadArray ;
String displayText1 = "tap HERE to save";
String displayText2 = "tap HERE to load";
int REQUEST_CODE ;

void setup() {
  activity = getActivity();
  context = getContext();
  fill(255);
  textSize(width/20) ;
  textAlign(CENTER, CENTER);
}

void draw() {
  background(0);
  text(displayText1, 0, 0, width, height/2) ;
  text(displayText2, 0, height/2, width, height/2) ;
}

void mouseReleased() {
  if (mouseY <height/2) {
    //start an Intent to save
    REQUEST_CODE = 1;
    Intent saveIntent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
    saveIntent.setType("*/*");
    activity.startActivityForResult(saveIntent, REQUEST_CODE);
  } else {
    //start an Intent to load
    REQUEST_CODE = 2;
    Intent loadIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    loadIntent.setType("*/*"); //any file type
    activity.startActivityForResult(loadIntent, REQUEST_CODE);
  }
}

@Override
  public void onActivityResult(int requestCode, int resultCode, Intent resultData) {

  if (resultCode == Activity.RESULT_OK && resultData != null) {
    ContentResolver contentResolver = context.getContentResolver();
    Uri uri = resultData.getData();

    switch (REQUEST_CODE) {
    case 1: // save file
      try {
        OutputStream os = contentResolver.openOutputStream(uri);
        os.write(saveArray);
        os.close();
        displayText1 = "File saved sccessfully" ;
        //saveArray should now be saved
      }
      catch (Exception e) {
        displayText1 = "File Save Error ..." ;
      }
      break;
    case 2:
      try { //load file
        InputStream is = contentResolver.openInputStream(uri);
        loadArray = new byte[0] ;
        int i = is.read();
        while (i != -1) {
          loadArray = expand(loadArray, loadArray.length + 1);
          loadArray[loadArray.length -1] = (byte) i;
          i = is.read();
        }
        is.close();
        displayText2 = "File loaded successfully" ;
        //do whatever you need with loadArray ....
      }
      catch (Exception e) {
        displayText2 = "File Load Error ..." ;
      }
      break;
    }
  }
}//end onActivityResult

```

---

_[View the full topic](https://discourse.processing.org/t/android-13-manage-external-storage-stops-working-what-can-i-do/40362)._
