¿No es necesario android.permission.RECEIVE_BOOT_COMPLETED?

¿Alguien sabe por qué mi aplicación sigue recibiendo la transmisión ACTION_BOOT_COMPLETED incluso cuando mi aplicación no tiene el permiso android.permission.RECEIVE_BOOT_COMPLETED en el archivo de manifiesto? Pensé que era necesario, pero algunos tutoriales que utiliza también no lo tienen. Algunos lo hicieron. Utilizo mi teléfono CyanogenMod que funciona para la prueba pero dudo que importa. LogCat muestra mi registro "Notificado de inicio" en cada inicio. Vea a continuación el código utilizado.

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> 

Clase 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(); } } } 

He revisado esto en el emulador y reproducido con éxito el "problema" en Android 2.1, 2.2 y 2.3. Recibo un ANR (como se esperaba) ya que el emulador no tiene la base de datos mis consultas de aplicación. Cuando elimino todos los permisos de uso declarados del manifiesto, obtengo los errores esperados de denegación de permiso al intentar usar mi aplicación. Sin embargo, sigo recibiendo la intención ACTION_BOOT_COMPLETED transmitida al iniciar. ¿Alguna sugerencia?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.