我想在设备中安装apk并管理usb状态.
apk向设备发送广播...
Intent intent = new Intent(ACTION_USB_STATE);
sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中,我声明了许可部分..
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
Run Code Online (Sandbox Code Playgroud)
但即使我已经说明了许可,也会出现错误.
日志是......
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) …Run Code Online (Sandbox Code Playgroud)