如何注册接收器以捕获完成的下载?

Jol*_*lin 6 android receiver

我正在检查一些关于如何在DownloadManager完成下载时通知接收器的教程,他们像这样实际注册接收器

context.registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 
Run Code Online (Sandbox Code Playgroud)

虽然,我想在我的注册接收器manifest.xml而不是实用,我发现人们这样做

<receiver 
    android:name=".DownloadReceiver"
    android:exported="true"
    android:icon="@drawable/download_icon" >
    <intent-filter>
        <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
     </intent-filter>
 </receiver> 
Run Code Online (Sandbox Code Playgroud)

那么android.intent.action.DOWNLOAD_COMPLETED和DownloadManager.ACTION_DOWNLOAD_COMPLETE之间有什么不同?为什么他们不在<action android:name="DownloadManager.ACTION_DOWNLOAD_COMPLETE" />清单中使用?