嘿,我刚开始在android中编码并获得错误Permission Denial:不允许在android中发送广播

时间:2016-04-19 11:04:31

标签: java android permissions

permission denial

我的活动代码是

boolean isEnable= Settings.System.getInt(getContentResolver(),Settings.System.AIRPLANE_MODE_ON,0)==1;
Settings.System.putInt(getContentResolver(),Settings.System.AIRPLANE_MODE_ON,isEnable?0:1);
intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state",!isEnable);
sendBroadcast(intent);

1 个答案:

答案 0 :(得分:1)

这是因为普通的SDK应用无法发送ACTION_AIRPLANE_MODE_CHANGED广播。如果你看the documentation for that Intent action,你会看到:

  

这是受保护的意图,只能由系统发送。

另请注意您的AIRPLANE_MODE_ON内容may not work on API Level 17 (Android 4.2) or higher devices

并且请注意,普通SDK应用无法保留WRITE_SETTINGS权限。如果您要构建自己的自定义Android ROM,则可以在该ROM中拥有拥有该权限的应用程序。