Не могу написать во внешнем хранилище

Я хочу создать файл во внешнем хранилище, но не могу. Нет ошибки, но нет создания. Я получил разрешение в манифесте раньше.

Я следую за простым кодом ниже:

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();

1 ответ

Привет от зефира вам нужно разрешение во время выполнения вот код для разрешения во время выполнения разрешить эти разрешения для чтения и записи

 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
        }
    }
Другие вопросы по тегам