web-dev-qa-db-fra.com

Android Télécharger l'intention

Je me demandais quelle est l'intention de télécharger des URL? Dans le navigateur, il téléchargera des choses avec une petite icône de notification. Je me demandais si je peux utiliser cette intention (et ce que c'est).

35
Isaac Waller

Les applications peuvent télécharger des fichiers avec le gestionnaire de téléchargement, comme le navigateur et Gmail. Ceci est disponible à partir de pain d'épice.

Votre application nécessite le [~ # ~ # ~] Internet [~ # ~] autorisation d'initier un téléchargement. Pour enregistrer le fichier dans le répertoire de téléchargement par défaut, il a également besoin de la Write_external_storage autorisation.

Voici comment vous pouvez télécharger une 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);

Il existe un groupe d'autres options pour personnaliser la notification, interrogeant l'état de téléchargement et définir l'emplacement de téléchargement.

Ce blog post montre comment utiliser le gestionnaire de téléchargement sur les versions précédentes de Android via API cachées.

69
Alex Jasmin

Bien que je ne crois pas qu'il y ait une intention de téléchargement dans le navigateur, vous pouvez probablement utiliser un ACTION_VIEW Intention et demandez au navigateur de décider s'il doit télécharger ou afficher l'URL en fonction du type de contenu.

Donc de votre déclencheur de code

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

et j'espère que cela déclenche un téléchargement dans le navigateur.

19
dparnas

Qu'essayez-vous de faire? Si votre application souhaite télécharger un fichier, vous pouvez utiliser le code URLConnection. Si vous voulez télécharger un colis, alors ACTION_PACKAGE_INSTALL devrait faire ce que vous voulez.

1
hacken

Avoir un look ici du tout le Android utiles.

0
GregD