解决Permission Denial

System.err: java.lang.SecurityException: Permission Denial: not allowed to send broadcast XXX

原因

android.intent.action.TIME_SET(XXX),是只能由系统发送的特殊广播(这类广播可以在源码的frameworks/base/core/res/AndroidManifest.xml中查看),而触发发送该广播的应用不是系统进程.
System.err: java.lang.SecurityException: Permission Denial: not allowed to send broadcast XXX

解决办法

1.在触发发送该广播的应用的AndroidManifest.xml中,节点manifest中加入"android:sharedUserId=“android.uid.system”
System.err: java.lang.SecurityException: Permission Denial: not allowed to send broadcast XXX
2.在编译该应用的mk文件中加入LOCAL_CERTIFICATE := platform这一行

android:sharedUserId="android.uid.system的意思是,利用sharedUserId,将拥有同一个user id的apk运行在同一个进程中,android.uid.system的意思就是让程序运行在系统的进程中.但此时还不能安装apk,程序想要运行在系统进程中还要有目标系统的系统签名,所以还需要LOCAL_CERTIFICATE := platform让这个apk拥有系统签名.

相关文章:

  • 2021-09-21
  • 2021-10-10
  • 2021-12-05
  • 2021-08-09
  • 2021-11-26
  • 2021-11-02
  • 2021-10-20
  • 2021-07-15
猜你喜欢
  • 2022-01-10
  • 2021-09-27
  • 2021-04-03
  • 2021-05-26
  • 2021-05-03
  • 2021-08-20
相关资源
相似解决方案