• Как в Android 6 (API 23) теперь записывать файлы на карту памяти?

    В Android Mpermissions нужно также проверять во время выполнения.
    Поэтому нужно сначала посмотреть , получили ли мы разрешение от
    пользователя.Если да - выполняем работу;нет - просим разрешение:

    public static final int NUMBER_OF_REQUEST = 23401;

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                int canRead = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
                int canWrite = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    
                if (canRead != PackageManager.PERMISSION_GRANTED || canWrite != PackageManager.PERMISSION_GRANTED) {
    
                    //Нужно ли нам показывать объяснения , зачем нам нужно это разрешение
                    if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                        //показываем объяснение
                    } else {
                        //просим разрешение
                        requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                Manifest.permission.READ_EXTERNAL_STORAGE}, NUMBER_OF_REQUEST);
                    }
                } else {
                    //ваш код
                }
            }


    Теперь проверяем, получили ли мы разрешение:

    @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
            switch (requestCode) {
                case NUMBER_OF_REQUEST: {
                    if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                        Log.e("TAG", "Пользователь дал разрешение");
                    } else {
                        Log.e("TAG", "Пользователь отклонил разрешение");
                    }
                    return;
                }
            }
        }
    Ответ написан
    Комментировать