android sendBroadcast 卡死有关问题
android sendBroadcast 卡死问题
代码
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra(STATE, true);
Log.e(TAG, "Airplane Mode On 1");
this.sendBroadcast(intent);
Log.e(TAG, "Airplane Mode On 2");
日志
Airplane Mode On 1 打印出来
Airplane Mode On 2 不能打印出来
logcat 日志
W/ActivityManagerService( 1003): Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=7903, uid=10138
D/Binder ( 1003): execTransact RuntimeException
D/Binder ( 1003): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=7903, uid=10138
D/Binder ( 1003): at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:13817)
D/Binder ( 1003): at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:14216)
D/Binder ( 1003): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:365)
D/Binder ( 1003): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2229)
D/Binder ( 1003): at android.os.Binder.execTransact(Binder.java:404)
D/Binder ( 1003): at dalvik.system.NativeStart.run(Native Method)
说没有权限,有个运行时异常
sendBroadcast 帮助文档不是说立即返回,怎么还会有这个问题呢?
各位,请教一下
------解决方案--------------------
D/Binder ( 1003): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=7903, uid=10138
好像没权限。试着加权限 如果不行就是说这个 intent action无法在广播中处理。
------解决方案--------------------
楼说上对,看下mainfest里面怎么配置的
------解决方案--------------------
在AndroidManifest.xml中加入权限 <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
------解决方案--------------------
没有加权限啊,看log就知道了
代码
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra(STATE, true);
Log.e(TAG, "Airplane Mode On 1");
this.sendBroadcast(intent);
Log.e(TAG, "Airplane Mode On 2");
日志
Airplane Mode On 1 打印出来
Airplane Mode On 2 不能打印出来
logcat 日志
W/ActivityManagerService( 1003): Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=7903, uid=10138
D/Binder ( 1003): execTransact RuntimeException
D/Binder ( 1003): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=7903, uid=10138
D/Binder ( 1003): at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:13817)
D/Binder ( 1003): at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:14216)
D/Binder ( 1003): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:365)
D/Binder ( 1003): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2229)
D/Binder ( 1003): at android.os.Binder.execTransact(Binder.java:404)
D/Binder ( 1003): at dalvik.system.NativeStart.run(Native Method)
说没有权限,有个运行时异常
sendBroadcast 帮助文档不是说立即返回,怎么还会有这个问题呢?
各位,请教一下
------解决方案--------------------
D/Binder ( 1003): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=7903, uid=10138
好像没权限。试着加权限 如果不行就是说这个 intent action无法在广播中处理。
------解决方案--------------------
楼说上对,看下mainfest里面怎么配置的
------解决方案--------------------
在AndroidManifest.xml中加入权限 <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
------解决方案--------------------
没有加权限啊,看log就知道了