-1

I want to create a file in external storage but I can't. There is no error, but there is no creation. I got the permission in manifest before.

I am following the simple code below:

package com.example.nima.readwritefiles;


public class ExternalActivity extends AppCompatActivity {

    File extDir;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        extDir = Environment.getExternalStorageDirectory();
        File file = new File(extDir , "mydir");
        if (!file.exists())
            file.mkdirs();
Adinia
  • 3,722
  • 5
  • 40
  • 58
nimahakim
  • 1
  • 1

1 Answers1

0

hi from marshmallow you need run time permission here is the code for runtime permission allow these permission to read and write

 private void checkPermissions() {
        int permissionLocation = ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE);
        List<String> listPermissionsNeeded = new ArrayList<>();
        if (permissionLocation != PackageManager.PERMISSION_GRANTED) {
            listPermissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
            listPermissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);
            if (!listPermissionsNeeded.isEmpty()) {
                ActivityCompat.requestPermissions(this,
                        listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS);
            }
        } else {
            //do what you want to do
        }

    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        int permissionLocation = ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE);
        if (permissionLocation == PackageManager.PERMISSION_GRANTED) {
           //do what you want to do
        } else {
            //do what you want to do
        }
    }
Muhammad Haroon
  • 210
  • 2
  • 11