public void StartDownload(Android.App.DownloadManager downloadManager, string destinationPathName,
                                  bool allowedOverMetered, DownloadVisibility notificationVisibility, bool isVisibleInDownloadsUi)
        {
            using (var downloadUrl = Uri.Parse(Url))
                using (var request = new Android.App.DownloadManager.Request(downloadUrl))
                {
                    if (Headers != null)
                    {
                        foreach (var header in Headers)
                        {
                            request.AddRequestHeader(header.Key, header.Value);
                        }
                    }

                    if (destinationPathName != null)
                    {
                        var file        = new Java.IO.File(destinationPathName);
                        var uriPathFile = Android.Net.Uri.FromFile(file);
                        request.SetDestinationUri(uriPathFile);
                        //if (file.Exists())
                        //{
                        //    file.Delete();
                        //}
                    }
                    request.SetVisibleInDownloadsUi(isVisibleInDownloadsUi);
                    request.SetAllowedOverMetered(allowedOverMetered);
                    request.SetNotificationVisibility(notificationVisibility);
                    Id = downloadManager.Enqueue(request);
                }
        }
Esempio n. 2
0
            protected override Java.Lang.Object DoInBackground(params Java.Lang.Object[] @params)
            {
                Android.App.DownloadManager dm;

                uri = Android.Net.Uri.FromFile(new Java.IO.File(Android.OS.Environment.ExternalStorageDirectory + "/Download/xyz.mp4"));
                string lastSegment = uri.PathSegments.Last();
                string struri      = uri.ToString();

                if (System.IO.File.Exists(struri))
                {
                    // string currenturi = uri + lastSegment;
                    return(null);
                }
                else
                {
                    dm = Android.App.DownloadManager.FromContext(context);
                    Android.App.DownloadManager.Request request = new Android.App.DownloadManager.Request(Android.Net.Uri.Parse(path));
                    request.SetTitle("Task App").SetDescription("Task video");
                    request.SetVisibleInDownloadsUi(true);
                    request.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);
                    request.SetDestinationUri(uri);
                    var c = dm.Enqueue(request);
                }

                return(null);
            }
        public async void Download_Click()
        {
            //var destination = Path.Combine(
            //    System.Environment.GetFolderPath(
            //        System.Environment.SpecialFolder.ApplicationData),
            //        "music.mp3");

            //await new WebClient().DownloadFileTaskAsync(
            //    new System.Uri(path),
            //    destination);

            Android.App.DownloadManager dm;

            uri = Android.Net.Uri.FromFile(new Java.IO.File(Android.OS.Environment.ExternalStorageDirectory + "/Download/xyz.mp4"));
            string lastSegment = uri.PathSegments.Last();
            string struri      = uri.ToString();

            if (System.IO.File.Exists(struri))
            {
                // string currenturi = uri + lastSegment;
                return;
            }
            else
            {
                dm = Android.App.DownloadManager.FromContext(Activity);
                Android.App.DownloadManager.Request request = new Android.App.DownloadManager.Request(Android.Net.Uri.Parse(path));
                request.SetTitle("Task App").SetDescription("Task Audio");
                request.SetVisibleInDownloadsUi(true);
                request.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);
                request.SetDestinationUri(uri);
                var c = dm.Enqueue(request);
            }
        }
        static void Download(Uri uri)
        {
            string fileName = Path.GetFileName(uri.LocalPath);

            Android.App.DownloadManager downloadManager = (Android.App.DownloadManager)Application.Context.GetSystemService("download");

            Android.App.DownloadManager.Request request = new Android.App.DownloadManager.Request(Android.Net.Uri.Parse(uri.AbsoluteUri));

            //Restrict the types of networks over which this download may proceed.
            request.SetAllowedNetworkTypes(Android.App.DownloadNetwork.Wifi | Android.App.DownloadNetwork.Mobile);
            //Set whether this download may proceed over a roaming connection.
            request.SetAllowedOverRoaming(false);
            //Set the title of this download, to be displayed in notifications (if enabled).
            //request.SetTitle(title);
            request.SetVisibleInDownloadsUi(false);

            //request.SetNotificationVisibility(DownloadVisibility.Hidden);
            #if DEBUG
            request.SetNotificationVisibility(DownloadVisibility.Visible);
            #else
            request.SetNotificationVisibility(DownloadVisibility.Hidden);
            #endif

            request.SetDestinationInExternalFilesDir(Application.Context, Android.OS.Environment.DirectoryDownloads, fileName);

            //Enqueue a new download and same the referenceId
            var id = downloadManager.Enqueue(request);

            MBDownloadManager.DownloadMonitor(id);
        }
Esempio n. 5
0
        public void DownloadFile(string uri, string fileName)
        {
            var contentUri = Android.Net.Uri.Parse(uri);
            var request    = new Android.App.DownloadManager.Request(contentUri);

            request.SetDestinationInExternalPublicDir(Android.OS.Environment.DirectoryDownloads, fileName);
            request.AllowScanningByMediaScanner();
            request.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);
            var downloadManager = (Android.App.DownloadManager)Forms.Context.GetSystemService(Android.Content.Context.DownloadService);

            downloadManager.Enqueue(request);
        }
Esempio n. 6
0
        private void Download(string Url, string filename)
        {
            Android.Net.Uri contentUri            = Android.Net.Uri.Parse(Url);
            Android.App.DownloadManager.Request r = new Android.App.DownloadManager.Request(contentUri);
            r.SetDestinationInExternalPublicDir(Android.OS.Environment.DirectoryDownloads, filename);
            r.AllowScanningByMediaScanner();
            r.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);
            Android.App.DownloadManager dm = (Android.App.DownloadManager)Xamarin.Forms.Forms.Context.GetSystemService(Android.Content.Context.DownloadService);

            dm.Enqueue(r);

            var localFolder = Android.OS.Environment.DirectoryDownloads;
            var MyFilePath  = $"file://{localFolder}/{Filename}";

            Toast.MakeText(this, MyFilePath, ToastLength.Long).Show();
        }
        public async Task<bool> Download(string uri, string filename)
        {

            string downloadedFolder = "/storage/emulated/0/Download/";
            if (App.DownloadsPath != null && !string.IsNullOrEmpty(App.DownloadsPath))
            {
                downloadedFolder = App.DownloadsPath + "/";
            }

			string fileExtenstion = Path.GetExtension(filename);

			if (fileExtenstion == ".jpg" || fileExtenstion == ".jpeg" || fileExtenstion == ".png")
				return false;

            if (System.IO.File.Exists(downloadedFolder + filename))
            {
                string downloadedUri = "file://" + downloadedFolder + filename;
                Java.IO.File file = new Java.IO.File(new Java.Net.URI( downloadedUri ));
                Intent videoPlayerActivity = new Intent(Intent.ActionView);
                videoPlayerActivity.SetDataAndType(Android.Net.Uri.FromFile(file), "video/*");
                Activity activity = Forms.Context as Activity;
                activity.StartActivity(videoPlayerActivity);
                return true;
            }
          
            App.DownloadID = 0;

            Android.Net.Uri contentUri = Android.Net.Uri.Parse(uri);

            Android.App.DownloadManager.Request r = new Android.App.DownloadManager.Request(contentUri);


            r.SetDestinationInExternalPublicDir(Android.OS.Environment.ExternalStorageDirectory.ToString(), filename);

            r.AllowScanningByMediaScanner();

            r.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);

            Android.App.DownloadManager dm = (Android.App.DownloadManager)Xamarin.Forms.Forms.Context.GetSystemService(Android.Content.Context.DownloadService);

            App.DownloadID = dm.Enqueue(r);

            AndHUD.Shared.Show(MainActivity.GetMainActivity(), "Dowloading Media...", -1, MaskType.Clear, null, () => { dm.Remove(App.DownloadID); }, true, () => { dm.Remove(App.DownloadID); });


            return true;
        }
        /// <summary>
        /// Use DownloadManager of Android to Download. User Can se status on Action Bar
        /// </summary>
        /// <param name="uri">Full url to download</param>
        /// <param name="filename">File to download</param>
        public void Download(string uri, string filename)
        {
            Android.Net.Uri contentUri = Android.Net.Uri.Parse(uri);

            Android.App.DownloadManager.Request r = new Android.App.DownloadManager.Request(contentUri);


            r.SetDestinationInExternalPublicDir(Android.OS.Environment.DirectoryDownloads, filename);

            r.AllowScanningByMediaScanner();

            r.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);

            Android.App.DownloadManager dm = (Android.App.DownloadManager)Xamarin.Forms.Forms.Context.GetSystemService(Android.Content.Context.DownloadService);

            dm.Enqueue(r);
        }
        public void Download(string uri, string filename)
        {
            var contentUri   = Android.Net.Uri.Parse(uri);
            var r            = new Android.App.DownloadManager.Request(contentUri);
            var downloadpath = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath;

            var file = new File(Path.Combine(downloadpath, filename));

            if (file.Exists())
            {
                return;
            }
            r.SetDestinationInExternalPublicDir(Android.OS.Environment.DirectoryDownloads, filename);
            r.AllowScanningByMediaScanner();
            r.SetNotificationVisibility(DownloadVisibility.VisibleNotifyCompleted);
            dm      = (Android.App.DownloadManager)Forms.Context.GetSystemService(Context.DownloadService);
            _fileId = dm.Enqueue(r);
        }
Esempio n. 10
0
        public void StartDownload(Android.App.DownloadManager downloadManager, string destinationPathName, bool allowedOverMetered)
        {
            using (var downloadUrl = Uri.Parse(Url))
                using (var request = new Android.App.DownloadManager.Request(downloadUrl)) {
                    if (Headers != null)
                    {
                        foreach (var header in Headers)
                        {
                            request.AddRequestHeader(header.Key, header.Value);
                        }
                    }

                    if (destinationPathName != null)
                    {
                        request.SetDestinationUri(Uri.FromFile(new Java.IO.File(destinationPathName)));
                    }

                    request.SetAllowedOverMetered(allowedOverMetered);

                    Id = downloadManager.Enqueue(request);
                }
        }
Esempio n. 11
0
        static long Download(Uri uri, string filename, string title, IDownloadUpdated2 notify)
        {
            Android.App.DownloadManager downloadManager = (Android.App.DownloadManager)Application.Context.GetSystemService("download");

            Android.App.DownloadManager.Request request = new Android.App.DownloadManager.Request(Android.Net.Uri.Parse(uri.AbsoluteUri));

            //Restrict the types of networks over which this download may proceed.
            request.SetAllowedNetworkTypes(Android.App.DownloadNetwork.Wifi | Android.App.DownloadNetwork.Mobile);
            //Set whether this download may proceed over a roaming connection.
            request.SetAllowedOverRoaming(false);
            //Set the title of this download, to be displayed in notifications (if enabled).
            request.SetTitle(title);
            request.SetVisibleInDownloadsUi(false);

            //request.SetNotificationVisibility(DownloadVisibility.Hidden);
                        #if DEBUG
            request.SetNotificationVisibility(DownloadVisibility.Visible);
                        #else
            request.SetNotificationVisibility(DownloadVisibility.Hidden);
                        #endif

            request.SetDestinationInExternalFilesDir(Application.Context, Android.OS.Environment.DirectoryDownloads, filename);

            //Enqueue a new download and same the referenceId
            var id = downloadManager.Enqueue(request);

            ThreadPool.QueueUserWorkItem(state =>
            {
                MBDownloadManager2.DownloadMonitor(id);
            });

            /*new Thread(() =>
             * {
             *      MBDownloadManager2.DownloadMonitor(id);
             *
             * }).Start();*/

            return(id);
        }
Esempio n. 12
0
        async void Download_Click()
        {
            Android.App.DownloadManager dm;

            uri = Android.Net.Uri.FromFile(new Java.IO.File(Android.OS.Environment.ExternalStorageDirectory + "/Download/xyz.mp4"));
            string lastSegment = uri.PathSegments.Last();
            string struri      = uri.ToString();

            if (System.IO.File.Exists(struri))
            {
                // string currenturi = uri + lastSegment;
                return;
            }
            else
            {
                dm = Android.App.DownloadManager.FromContext(Activity);
                Android.App.DownloadManager.Request request = new Android.App.DownloadManager.Request(Android.Net.Uri.Parse(path));
                request.SetTitle("Task App").SetDescription("Task Audio");
                request.SetVisibleInDownloadsUi(true);
                request.SetNotificationVisibility(Android.App.DownloadVisibility.VisibleNotifyCompleted);
                request.SetDestinationUri(uri);
                var c = dm.Enqueue(request);
            }
        }