我有一个应用程序请求DownloadManager启动下载。
我想做的是当用户点击我的应用程序从DownloadManager请求的下载通知时启动我的应用。以下是用于DownloadManager广播的BroadcastReceiver中的代码。
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。
谢谢,
Vinay
您想要使用:
intent.getLongArrayExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS)
它返回一个长数组。
开始下载后,您可以简单地以以下方式启动应用程序:Intent launchint = getPackageManager().getLaunchIntentForPackage("com.package.yourapp");
startActivity(launchint );