Pergunta

Eu queria saber qual é a intenção para download URLs? No navegador, ele irá baixar coisas com um ícone de notificação pouco. Eu queria saber se posso usar essa intenção (e o que é).

Foi útil?

Solução

Os aplicativos podem baixar arquivos com o gerenciador de download como o navegador e gmail. Isto está disponível de partida com Gingerbread.

Seu aplicativo precisa da INTERNET permissão para iniciar um download. Para salvar o arquivo no diretório de download padrão, ele também precisa da WRITE_EXTERNAL_STORAGE permissão.

Veja como você pode baixar um 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);

Há um monte de outras opções para personalizar a notificação, consultando o estado de download e definir o local de download.

Este post mostra como você poderia usar o gerenciador de download em versões anteriores do Android via APIs escondidas.

Outras dicas

Enquanto eu não acredito que há um download Intenção no navegador, você provavelmente pode usar um ACTION_VIEW normal de Intenção e ter o navegador decidir se ele deve baixar ou ver a url baseada no tipo de conteúdo.

Assim, desde o seu desencadeamento código

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

e espero Isso desencadeia um download no navegador.

O que você está tentando fazer? Se a sua aplicação quer baixar um arquivo que você pode usar o código URLConnection. Se você quiser baixar um pacote, em seguida, ACTION_PACKAGE_INSTALL deve fazer o que quiser.

Tenha um olhar aqui em tudo o Intenções Android.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top