/// <summary> /// Schedule the download of the big picture associated with the content. </summary> /// <param name="context"> any application context. </param> /// <param name="content"> content with big picture notification. </param> public static void downloadBigPicture(Context context, EngagementReachInteractiveContent content) { /* Set up download request */ DownloadManager downloadManager = (DownloadManager)context.getSystemService(Context.DOWNLOAD_SERVICE); Uri uri = Uri.parse(content.NotificationBigPicture); DownloadManager.Request request = new DownloadManager.Request(uri); request.NotificationVisibility = DownloadManager.Request.VISIBILITY_HIDDEN; request.VisibleInDownloadsUi = false; /* Create intermediate directories */ File dir = context.getExternalFilesDir("engagement"); dir = new File(dir, "big-picture"); dir.mkdirs(); /* Set destination */ long contentId = content.LocalId; request.DestinationUri = Uri.fromFile(new File(dir, contentId.ToString())); /* Submit download */ long id = downloadManager.enqueue(request); content.setDownloadId(context, id); /* Set up timeout on download */ Intent intent = new Intent(EngagementReachAgent.INTENT_ACTION_DOWNLOAD_TIMEOUT); intent.putExtra(EngagementReachAgent.INTENT_EXTRA_CONTENT_ID, contentId); intent.Package = context.PackageName; PendingIntent operation = PendingIntent.getBroadcast(context, (int)contentId, intent, 0); long triggerAtMillis = SystemClock.elapsedRealtime() + DOWNLOAD_TIMEOUT; AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); alarmManager.set(ELAPSED_REALTIME_WAKEUP, triggerAtMillis, operation); }
/// <summary> /// Schedule the download of the big picture associated with the content. </summary> /// <param name="context"> any application context. </param> /// <param name="content"> content with big picture notification. </param> public static void downloadBigPicture(Context context, EngagementReachInteractiveContent content) { /* Set up download request */ DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); Uri uri = Uri.parse(content.NotificationBigPicture); DownloadManager.Request request = new DownloadManager.Request(uri); request.NotificationVisibility = DownloadManager.Request.VISIBILITY_HIDDEN; request.VisibleInDownloadsUi = false; /* Create intermediate directories */ File dir = context.getExternalFilesDir("engagement"); dir = new File(dir, "big-picture"); dir.mkdirs(); /* Set destination */ long contentId = content.LocalId; request.DestinationUri = Uri.fromFile(new File(dir, contentId.ToString())); /* Submit download */ long id = downloadManager.enqueue(request); content.setDownloadId(context, id); /* Set up timeout on download */ Intent intent = new Intent(EngagementReachAgent.INTENT_ACTION_DOWNLOAD_TIMEOUT); intent.putExtra(EngagementReachAgent.INTENT_EXTRA_CONTENT_ID, contentId); intent.Package = context.PackageName; PendingIntent operation = PendingIntent.getBroadcast(context, (int) contentId, intent, 0); long triggerAtMillis = SystemClock.elapsedRealtime() + DOWNLOAD_TIMEOUT; AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); alarmManager.set(ELAPSED_REALTIME_WAKEUP, triggerAtMillis, operation); }