Android.permission.RECEIVE_BOOT_COMPLETED não é necessário?

Alguém sabe por que meu aplicativo ainda recebe a transmissão ACTION_BOOT_COMPLETED, mesmo quando meu aplicativo não tem permissãoandroid.permission.RECEIVE_BOOT_COMPLETED no arquivo de manifesto? Eu pensei que era necessário, mas alguns tutoriais que eu usei também não o tinham. Alguns fizeram. Eu uso meu telefone executando o CyanogenMod para testes, mas duvido que isso importe. O LogCat mostra meu log "Notificado de inicialização" em cada inicialização. Veja abaixo o código usado.

AndroidManifest.xml

  <receiver android:name="AlarmReceiver">
   <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <category android:name="android.intent.category.HOME" />
   </intent-filter>
  </receiver>

Classe AlarmReceiver

  public class AlarmReceiver extends BroadcastReceiver {
  private static final String TAG = "MyProgram";

  @Override
  public void onReceive(Context context, Intent intent) {
   try {
          if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
     Log.d(TAG, "Notified of boot");
           }
          Intent newIntent = new Intent(context, MyService.class);
          context.startService(newIntent);
    } catch (Exception e) {
     Log.d(TAG, "An alarm was received but there was an error");
     e.printStackTrace();
     }
    }
  }

Revisei isso no emulador e reproduzi com êxito o "problema" no Android 2.1, 2.2 e 2.3. Recebo um ANR (como esperado), pois o emulador não possui o banco de dados que meu aplicativo consulta. Quando removo todas as permissões de uso declaradas do homem, ifest, recebo os erros de negação de permissão esperados ao tentar usar meu aplicativo. No entanto, ainda recebo a intenção ACTION_BOOT_COMPLETED transmitida na inicialização. Alguma sugestão?

questionAnswers(1)

yourAnswerToTheQuestion