一般来说,有些系统方法是不提供在SDK中的,这种情况下,需要把app的源码放到系统源码的目录下编写Android.mk进行编译,使其能访问到@hide的系统方法。
但是,即使编译通过,在系统中运行的时候,仍然会碰到权限被拒绝的问题。
昨天,我在APP的service中调用了registerBroadcastAsUser,这是一个隐藏的系统方法,此时,需要在Android.mk中加入LOCAL_CERTIFICATE := platform
一个应用程序想要使用系统的方法,那么就需要给这个应用程序签名,相当于授权。(1)platform签名:
AndroidManifest.xml的manifest节点中添加 android:sharedUserId=”android.uid.system”,
Android.mk中增加 LOCAL_CERTIFICATE := platform