예제 #1
0
        /// <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);
	  }