BOOT_COMPLETED de Android no se recibió cuando la aplicación está cerrada

Soy consciente de que esta pregunta se ha planteado mucho en el sitio, sin embargo, parece que no puedo encontrar una solución. No se llama a mi receptor BOOT_COMPLETED cuando la aplicación no se está ejecutando.

Manifiesto:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.startuptest"
    android:versionCode="1"
    android:versionName="1.0"
    android:installLocation="internalOnly">
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.startuptest.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver android:name="com.example.startuptest.StartUpBootReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

StartUpBootReceiver:

public class StartUpBootReceiver  extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Log.d("startuptest", "StartUpBootReceiver " + intent.getAction());

        if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
            Log.d("startuptest", "StartUpBootReceiver BOOT_COMPLETED");
        }
    }
}

Si la aplicación se está ejecutando y simulo una llamada con

adb shell
am broadcast -a android.intent.action.BOOT_COMPLETED

El evento se recibe correctamente, sin embargo, si la aplicación se cierra, el evento no se recibe, ni se recibe al inicio.

He instalado la aplicación y luego la inicié un par de veces para asegurarme de que esté registrada. Estoy bastante perdido en este caso por lo que cualquier consejo sería muy apreciado.

Edición: Puedo ver en los registros que todas las demás aplicaciones cerradas (Youtube, FileObserver, etc.) reciben el evento boot_completed, pero no el mío.

Respuestas a la pregunta(8)

Su respuesta a la pregunta