title: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.hardware.usb.action.USB_STATE
body: <p>I am trying to make an apk to install in a device and manage usb state.</p>
  
  <p>apk sends broadcast to device like...</p>
  
  <pre><code>Intent intent = new Intent(ACTION_USB_STATE);
  sendBroadcast(intent);
  </code></pre>
  
  <p>In AndroidManifest.xml I stated permission part..</p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.BROADCAST_STICKY" /&gt;
  </code></pre>
  
  <p>but when error occours even though i already stated permission. </p>
  
  <p>log is....</p>
  
  <pre><code>W/ActivityManager(  850): Permission Denial: not allowed to send broadcast android.hardware.usb.action.USB_STATE from pid=16082, uid=10109
  E/AndroidRuntime(16082): FATAL EXCEPTION: main
  E/AndroidRuntime(16082): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.hardware.usb.action.USB_STATE from pid=16082, uid=10109
  E/AndroidRuntime(16082):    at android.os.Parcel.readException(Parcel.java:1425)
  E/AndroidRuntime(16082):    at android.os.Parcel.readException(Parcel.java:1379)
  E/AndroidRuntime(16082):    at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:2098)
  E/AndroidRuntime(16082):    at android.app.ContextImpl.sendBroadcast(ContextImpl.java:1003)
  E/AndroidRuntime(16082):    at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:312)
  E/AndroidRuntime(16082):    at com.example.usb_mode_change.USBModeSettingActivity$1.onClick(USBModeSettingActivity.java:43)
  E/AndroidRuntime(16082):    at android.view.View.performClick(View.java:4101)
  E/AndroidRuntime(16082):    at android.view.View$PerformClick.run(View.java:17082)
  E/AndroidRuntime(16082):    at android.os.Handler.handleCallback(Handler.java:615)
  E/AndroidRuntime(16082):    at android.os.Handler.dispatchMessage(Handler.java:92)
  E/AndroidRuntime(16082):    at android.os.Looper.loop(Looper.java:137)
  E/AndroidRuntime(16082):    at android.app.ActivityThread.main(ActivityThread.java:4911)
  E/AndroidRuntime(16082):    at java.lang.reflect.Method.invokeNative(Native Method)
  E/AndroidRuntime(16082):    at java.lang.reflect.Method.invoke(Method.java:511)
  E/AndroidRuntime(16082):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
  E/AndroidRuntime(16082):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
  E/AndroidRuntime(16082):    at dalvik.system.NativeStart.main(Native Method)
  W/ActivityManager(  850):   Force finishing activity com.example.usb_mode_change/.USBModeSettingActivity
  </code></pre>
  
  <p>I have no idea what i've done wrong..</p>
  
  <p>Any clues will help.</p>
  
  <p>Thank you.</p>