Проблема с разрешениями при загрузке файла с FTP
Когда я скачиваю файл с ftp-сервера, я получаю FileNotFoundExeption с разрешением DENIED. Я добавил пользовательские разрешения в манифест:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
, а также добавил в application:
android:requestLegacyExternalStorage="true"
Перед загрузкой я запрашиваю разрешение:
ActivityCompat.requestPermissions((Activity)this.context, newString[{ Manifest.permission.WRITE_EXTERNAL_STORAGE }, 1);
setOnClick установлен в recyclerview, прилагаю код загрузки, помогите, мучаюсь уже пару дней:
public void downloadFile() {
FTPClient client = new FTPClient();
OutputStream fos;
ActivityCompat.requestPermissions((Activity)this.context, new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE }, 1);
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), this.filename);
try {
fos = new FileOutputStream(file);
client.connect("backup-storage5.hostiman.ru");
client.enterLocalPassiveMode();
client.login("**********", "********");
client.retrieveFile("/" + this.filename, fos);
client.logout();
client.disconnect();
System.out.println("ALL DONE!");
} catch (IOException e) {
System.out.println("FAILED TO DOWNLOAD FILE FROM SERVER!\n" + e);
}
}