title: MEDIA_MOUNTED broadcast not being recieved when Application is installed on SD card
body: <p>How do i start my application on startup in case when application is installed on SD card? If i application is installed on Internal memory then  using <code>BOOT_COMPLETED</code> completed broadcast we can achieve our requirements but this BOOT_COMPLETED intent is broadcasts before the media is mounted so we can not use this broadcast.</p>
  
  <p>What i tried so far is, i used the another intent which is <code>MEDIA_MOUNTED</code> but don't know why broadcast is not being received.</p>
  
  <p><strong>Here is my code</strong>:<br> AndroidManifest.xml<br></p>
  
  <pre><code>&lt;receiver
              android:name=".ui.Receiver"
              android:enabled="true" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MEDIA_MOUNTED" /&gt;
                  &lt;data android:scheme="file" /&gt;
              &lt;/intent-filter&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.BOOT_COMPLETED" /&gt;
                  &lt;action android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" /&gt;
                  &lt;action android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" /&gt;
                  &lt;category android:name="android.intent.category.DEFAULT" /&gt;
              &lt;/intent-filter&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.PACKAGE_REPLACED" /&gt;
  
                  &lt;data android:scheme="package" /&gt;
                  &lt;data android:path="org.sipchat.sipua" /&gt;
              &lt;/intent-filter&gt;
          &lt;/receiver&gt;
  </code></pre>
  
  <p><strong>Receiver.java</strong><br></p>
  
  <pre><code>public void onReceive(Context context, Intent intent) {
          String intentAction = intent.getAction();
          if (intentAction.equals(Intent.ACTION_BOOT_COMPLETED)) {
              Toast.makeText(context, "BOOT Completed", Toast.LENGTH_LONG).show();
              on_vpn(false);
              engine(context).register();
          } else if (intentAction.equals(Intent.ACTION_MEDIA_MOUNTED)) {
              Toast.makeText(context, "Media is Mounted", Toast.LENGTH_LONG)
                      .show();
              engine(context).register();
          } else if (intentAction.equals(ConnectivityManager.CONNECTIVITY_ACTION)
                  || intentAction.equals(ACTION_EXTERNAL_APPLICATIONS_AVAILABLE)
                  || intentAction
                          .equals(ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE)
                  || intentAction.equals(Intent.ACTION_PACKAGE_REPLACED)) {
              engine(context).register();}}
  </code></pre>
  
  <p>Any help and suggestion will be appreciated<br>
  Thanks</p>