2015-04-10 3 views
0

У меня есть приложение, которое запрашивает DownloadManager, чтобы начать загрузку.Запуск моей деятельности при нажатии на уведомление о загрузке

Что я хочу сделать, это запустить приложение, когда пользователь нажимает на уведомление о загрузке для загрузки, которое мое приложение запрашивает у DownloadManager. Ниже приведен код в трансляциях BroadcastReceiver для DownloadManager.

if (DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) 
     { 
      long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0); 
      long dlRef = getDlRef(); 
      if (downloadId != dlRef) { 
       Log.d(Constants.TAG, "MY_DL_ID: " + dlRef + " EVENT FOR: " + downloadId); 
      } else { 
       Log.d(Constants.TAG, "Starting my activity"); 
       Intent i = new Intent(context, MyActivity.class); 
       i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(i); 
      } 
     } 

Как я могу это сделать? В коде выше я получаю downloadId как 0.

Спасибо,

Виней

+0

Что и означает? Показать уведомление и щелкнуть по нему начнет работу? прочитайте это: [Уведомления] (http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CreateNotification) – Harry

ответ

-1

После запуска загрузки вы можете просто запустить приложение как: Intent launchint = getPackageManager().getLaunchIntentForPackage("com.package.yourapp"); startActivity(launchint);

+0

Я хочу запустить приложение из уведомлений загрузки, которое отображается, когда DownloadManager запускает загрузку, которая мое приложение запрошено. – VinayChoudhary99

+0

Вы можете создать ожидающее намерение, хотя я не могу полностью понять, чего вы пытаетесь достичь. Вы можете создать намерение с классом, который хотите запустить, создать ожидающее намерения, а затем setContentIntent для этого ожидающего намерения. http://developer.android.com/training/notify-user/build-notification.html поможет вам больше. – Saurav

+0

Уведомление отображается при загрузке с помощью DownloadManager. Я хочу, чтобы при нажатии на нее запускается мое приложение. В приведенном выше коде отображается действие Intent, которое принимается при нажатии на такое уведомление. Но в этом случае идентификатор загрузки недоступен. Итак, если я намерен запустить здесь активность, запустит ли он мою активность для всех загрузок, которые я не начал? Я хочу избежать использования моего собственного уведомления и, следовательно, моего запроса! Надеюсь, теперь мой вопрос будет ясен. :) – VinayChoudhary99