Input и optput не работает на android 10 в чем проблема?

196
15 апреля 2022, 04:40

Мое приложение делает копию файла из assets и помещает на хранилище устройства для дальнейшей работы с ним, однако на androide 10 не работает, и срабатывает исключение выводить сообщение "Ошибка отправки мода" вот мой код

`private void copyAsset(String filename){
    String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/games";
    File dir = new File(dirPath);
    if(!dir.exists()){
        dir.mkdirs();
    }
    AssetManager assetManager = getAssets();
    InputStream in = null;
    OutputStream out = null;
    try {
        in = assetManager.open(filename);
        File outFile = new File(dirPath,filename);
        out = new FileOutputStream(outFile);
        copyFile(in, out);
        // Toast.makeText(this,"пуск!", Toast.LENGTH_SHORT).show();
    }catch(IOException e){
        Toast.makeText(this,"Ошибка отправки мода", Toast.LENGTH_SHORT).show();
    }finally {
        if(in != null){
            try {
                in.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
        if(out != null){
            try {
                out.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
}
private void copyFile(InputStream in, OutputStream out) throws IOException{
    byte[] buffer = new byte[1024];
    int read;
    while((read = in.read(buffer))!= -1){
        out.write(buffer, 0,read);

    }
}` 

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

if(ContextCompat.checkSelfPermission(this,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
                if(ActivityCompat.shouldShowRequestPermissionRationale(this,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE)){
                    ActivityCompat.requestPermissions(this,
                            new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},MY_PERMISSION_REQUEST_STORAGE);
                }else{
                    ActivityCompat.requestPermissions(this,
                            new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},MY_PERMISSION_REQUEST_STORAGE);
                }
            }else{
            }

на android 9 работает как надо. Как мне это исправить?

READ ALSO
Как пофиксить ошибку activity_main.xml

Как пофиксить ошибку activity_main.xml

вот такая ошибка вылезает, что делать?

110
Написать программу, которая выводит количество повторяющихся цифр в числе. Java

Написать программу, которая выводит количество повторяющихся цифр в числе. Java

Написать программу, которая считывает число и выводит количество всех содержащихся в нем цифр (от 0 до 9)Вывести соответствующий номер, только...

183
Не могу получить данные из session

Не могу получить данные из session

сохраняю юзера requestgetSession()

273
Как работает JDBC и ORM?

Как работает JDBC и ORM?

Прочитал достаточно много информации про JDBC и ORM, теперь хотел бы проверить свое понимание работы с БД в Java и задать пару вопросов касательно...

265