Passe dados para o BroadcastReceiver da Activity usando o DownloadManager

Estou tentando passar um objeto para um BroadcastReceiver que fará algo quando o download for concluído. Como acesso o objeto Intent no método onReceive do BroadcastReceiver a partir da minha atividade? No momento, tenho isso em minha atividade:

DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
long id = manager.enqueue(request);

e eu tenho isso no meu BroadcastReceiver que faz coisas quando o download é concluído:

DownloadManager mgr = (DownloadManager)context.getSystemService(Context.DOWNLOAD_SERVICE);

Tudo funciona bem, meu BroadcastReceiver faz o que eu quero quando o download é concluído. Mas agora eu quero passar um objeto da minha atividade para o BroadcastReceiver. Normalmente, eu apenas criava um Intent e adicionava o objeto ao Intent. Mas não criei um Intent no meu código porque o BroadcastReceiver responde ao download usando o Context.DOWNLOAD_SERVICE.

No meu BroadcastReceiver, quero obter dados do objeto Intent no método onReceive () aqui:

@Override
public void onReceive(Context context, Intent intent)
{
    intent.getParcelableExtra("object");
}

Como passo dados para esse objeto Intent da minha atividade? Como faço para acessá-lo? Eu tentei usargetIntent().putExtra("object", object) mas parece ser uma intenção diferente da usada no método onReceive do BroadcastReceiver porque recebo uma nullPointerException

Edit: aqui está o meu código relevante no AndroidManifest.xml

<receiver
    android:name="com.android.devon.appfrenzy.DownloadReceiver"
    android:exported="true" >
    <intent-filter>
        <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
    </intent-filter>
</receiver>

questionAnswers(4)

yourAnswerToTheQuestion