[英]CSipSimple - java.lang.SecurityException : Permission Denial: not allowed to send broadcast android.intent.action.Phone_State
[英]SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.BATTERY_CHANGED
我正在尝试开发一个显示电池温度的小部件。 当我使用android.intent.action.BATTERY_CHANGED
注册广播接收器时
它显示出这样的错误。
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.BATTERY_CHANGED from pid=-1, uid=10058
据我所知,不需要广播许可。 如果是活动的话。 它工作正常。
Intent intent = new Intent();
intent.setAction("android.intent.action.BATTERY");
return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
据我所知,不需要广播许可
就在这里。 您正在发送广播。 并且,引用ACTION_BATTERY_CHANGED
的文档 :
这是受保护的意图,只能由系统发送。
您不是系统;您不是系统。 您无法发送此广播。
我不知道为什么要创建一个试图发送此广播的PendingIntent
,但是您将需要做其他事情。 如果您的目的是通过轻按应用小部件来触发BroadcastReceiver
,而该接收者也恰好在听ACTION_BATTERY_CHANGED
,那么在创建PendingIntent
时只需使用一个明确的Intent
标识接收者:
PendingIntent.getBroadcast(context, 0, new Intent(this, YourReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.