Написать внешнее разрешение на хранение всегда отказываетсяAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Написать внешнее разрешение на хранение всегда отказывается

Сообщение Anonymous »

Я использую Download Manager для загрузки изображения в моем приложении Android. Dexter.withContext(getApplicationContext())
.withPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.withListener(new PermissionListener() {
@Override
public void onPermissionGranted(PermissionGrantedResponse permissionGrantedResponse) {
Toast.makeText(LiveTaskActivity.this, "Granted", Toast.LENGTH_SHORT).show();
}

@Override
public void onPermissionDenied(PermissionDeniedResponse permissionDeniedResponse) {
Toast.makeText(LiveTaskActivity.this, "Denied", Toast.LENGTH_SHORT).show();
}

@Override
public void onPermissionRationaleShouldBeShown(PermissionRequest permissionRequest, PermissionToken permissionToken) {

}
}).check();
< /code>
Но всегда я получаю разрешение «отказано», даже я вручную принимаю разрешение на предоставление разрешения из приложения. Я также попробовал вручную реализовать код запроса разрешения. < /P>
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
} else {
download();
}
< /code>
Тем не менее, я не могу получить разрешение. Вот манифестный код: < /p>




Вот мой код build.gradle (app): < /p>
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"

defaultConfig {
applicationId "app.gigg.me.app"
minSdkVersion 22
targetSdkVersion 30
versionCode 2
versionName '1.0.1'
< /code>
Пожалуйста, помогите мне решить эту проблему. < /p>
** Обновление вот мой код загрузки < /p>
private void startDownload() {
Toast.makeText(this, "Downloading File...", Toast.LENGTH_SHORT).show();
fileName = link.substring(link.lastIndexOf("/") + 1) + ".png";
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath(), fileName);
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(link))
.setTitle(fileName)
.setDescription("Downloading")
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
.setDestinationUri(Uri.fromFile(file))
.setMimeType("image/*")
.setAllowedOverMetered(true)
.setAllowedOverRoaming(true);
download_id = downloadManager.enqueue(request);
}


Подробнее здесь: https://stackoverflow.com/questions/680 ... ays-denied
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»