title: BroadcastReceiver requires android.permission.RECEIVE_BOOT_COMPLETED
body: <p>My Android app needs to be notified about the <code>BOOT_COMPLETED</code> event. AndroidManifest.xml contains <code>&lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /&gt;</code> and inside <code>&lt;application&gt;</code> tag I have the following receiver definition:</p>
  
  <pre><code>&lt;receiver android:name=".OnBootReceiver" 
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED"&gt;
      &lt;intent-filter&gt;
          &lt;action android:name="android.intent.action.BOOT_COMPLETED" /&gt;
      &lt;/intent-filter&gt;
  &lt;/receiver&gt;
  </code></pre>
  
  <p>Is the <code>android:permission="android.permission.RECEIVE_BOOT_COMPLETED"</code> required? What happens if it is not in place, is there a risk of any application being able to simulate the boot event and invoking my app?</p>
  
  <p>In some examples, <a href="http://javatechig.com/android/how-to-start-an-application-at-device-bootup-in-android" rel="noreferrer">the receiver contains the RECEIVE_BOOT_COMPLETED permission</a> and <a href="https://github.com/commonsguy/cw-advandroid/blob/master/SystemEvents/OnBoot/AndroidManifest.xml" rel="noreferrer">some the receiver does not</a>. Are there API level specific differences?</p>