我有一个应用程序,请求下载管理器开始下载。
我想做的是当用户点击我的应用程序从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。
谢谢。
Vinay
你想使用:
intent.getLongArrayExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS)
它返回一个长数组。
启动下载后,你可以简单地启动你的应用程序为。 Intent launchint = getPackageManager().getLaunchIntentForPackage("com.package.yourapp");
startActivity(launchint );