Я пытаюсь понять плюсы и минусы различных способов загрузки файла с помощью приложения Android. Я нашел несколько способов: Управление загрузкой самостоятельно ( см. Этот фрагмент кода ) Использование Android DownloadManager Загрузка файла с использованием OKHttp, как описано в этом сообщении Кто-нибудь, у кого есть опыт в этом предмете, может объяснить мне причины выбора одного из […]
Я создаю приложение для режима киоска. Устройство не внедрено. Приложение – администратор устройства (android.permission.BIND_DEVICE_ADMIN). Я хочу, чтобы приложение могло загружать и напрямую устанавливать другие apks на планшет без запроса разрешения. В настоящий момент я использую Android DownloadManager для загрузки apk: then: Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(filePath)), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // without this flag android […]
Всякий раз, когда я пытаюсь загрузить любой файл с помощью кода ниже dm = (DownloadManager) context.getSystemService(context.DOWNLOAD_SERVICE); request = new Request( Uri.parse(finalurl)); enqueue = dm.enqueue(request); BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { long downloadId = intent.getLongExtra( DownloadManager.EXTRA_DOWNLOAD_ID, 0); Query query = new […]
Я не могу загружать файлы с помощью DownloadManager в вышеупомянутом устройстве. Тот же код работает для всех других устройств. Вопрос в том, почему он не работает только в этом устройстве. Если это конкретная проблема Samsung, есть ли способ обхода этого? Я попытался изменить каталоги, к которым должна произойти загрузка, но это тоже не сработало. ОС […]
Фактически, мне нужно открыть папку загрузки по умолчанию из моего приложения. Является ли это возможным? Если да, то, пожалуйста, предоставьте некоторую ссылку. Я могу получить путь к папке «Загрузка» с помощью: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) Любая помощь будет хорошо оценена.
Я хочу загрузить 2 файла с моего сервера. Если я в очереди на один файл, все идет гладко, с двумя файлами менеджер загрузок бросает мне это исключение W/DownloadManager﹕ Exception for id 126: Http Range request failure: totalBytes = 5424932, bytes recvd so far: 5424932 java.lang.IllegalStateException: Http Range request failure: totalBytes = 5424932, bytes recvd so […]
В моем приложении Android загружаю медиафайлы из сервиса Amazon CloudFront. Образец ссылки: https://testcdn.grouvi.org/uploads/94498583-94c4-44b8-911e-2e0c6bcc4b27/86e55069-2627-4c96-9cbe-98fc87f2eb1b.jpg Это мой код: DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager.Request request = new DownloadManager.Request(uri); downloadManager.enqueue(request); И на некоторых телефонах с Android Kitkat я получаю эту ошибку W/DownloadManager﹕ Aborting request for download 840: while trying to execute request: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x752a9a60: […]
У меня есть системное приложение со всеми необходимыми разрешениями. Ранее, я бы загружал apks с помощью DownloadManager, а затем использовал отражение через installPackage () пакета PackageManager для установки указанного apk. К сожалению, после изменений поведения N http://developer.android.com/preview/behavior-changes.html : DownloadManager больше не может хранить файлы, хранящиеся в частном порядке, по имени файла. При доступе к COLUMN_LOCAL_FILENAME […]
Я использовал DownloadManager в своем проекте Android для загрузки файла. DownloadManager.Request request = new DownloadManager.Request(Uri.parse(soundURL)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); deleteIfFileExist(filePath); request.setDestinationInExternalFilesDir(context, SubPath, SndName); return manager.enqueue(request); Он отлично работает, но я видел в Fabric, что некоторые пользователи сообщили о сбое: Fatal Exception: java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads at android.content.ContentResolver.insert(ContentResolver.java:882) at android.app.DownloadManager.enqueue(DownloadManager.java:904) Я искал его и нашел где-то, потому что их […]
Я создаю приложение, которое нужно знать по причинам параллелизма, если все загрузки закончены. Определенная функция разрешается запускать только после завершения всех моих загрузок. Мне удалось написать функцию, которая проверяет очередь на старые загрузки: DownloadManager dm = (DownloadManager) context.getSystemService(context.DOWNLOAD_SERVICE); Query q = new Query(); q.setFilterByStatus(DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PENDING|DownloadManager.STATUS_RUNNING); Cursor c = dm.query(q); Проблема в том, что – просто чтобы […]