Вопрос

Мне было интересно, какова цель загрузки URL-адресов?В браузере он загрузит материал с небольшим значком уведомления.Мне было интересно, могу ли я использовать это намерение (и что это такое).

Это было полезно?

Решение

Приложения могут загружать файлы с помощью менеджера загрузок точно так же, как браузер и gmail.Это доступно, начиная с Пряников.

Вашему приложению нужны ИНТЕРНЕТ разрешение на инициирование загрузки.Чтобы сохранить файл в каталоге загрузки по умолчанию, ему также необходимо WRITE_EXTERNAL_STORAGE ЗАПИСЬ в ВНЕШНЕЕ ХРАНИЛИЩЕ разрешение.

Вот как вы можете загрузить URI:

DownloadManager.Request r = new DownloadManager.Request(uri);

// This put the download in the same Download dir the browser uses
r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "fileName");

// When downloading music and videos they will be listed in the player
// (Seems to be available since Honeycomb only)
r.allowScanningByMediaScanner();

// Notify user when download is completed
// (Seems to be available since Honeycomb only)
r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

// Start download
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(r);

Существует множество других опций для настройки уведомления, запроса состояния загрузки и настройки местоположения загрузки.

Это сообщение в блоге показывает, как вы могли бы использовать менеджер загрузок в предыдущих версиях Android через скрытые API.

Другие советы

Хотя я не верю, что в браузере есть намерение загрузить, вы, вероятно, можете использовать обычный ACTION_VIEW Намерение и пусть браузер решит, следует ли ему загружать или просматривать URL-адрес, в зависимости от типа содержимого.

Итак, из вашего кода срабатывает триггер

new Intent(Intent.ACTION_VIEW, Uri.parse(url))

и надеюсь, что это вызовет загрузку в браузере.

Что ты пытаешься сделать?Если ваше приложение хочет загрузить файл, вы можете использовать код URLConnection.Если вы хотите загрузить пакет, то ACTION_PACKAGE_INSTALL должен делать то, что ты хочешь.

Взгляните на здесь при всех Намерениях Android.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top