Look at frameworks/base/core/res/AndroidManifest.xml to see what
access rights apply to each of the system-defined permissions. In
this case, you'll see that both READ_FRAME_BUFFER and
ACCESS_SURFACE_FLINGER are marked as
android:protectionLevel="signature".
When a permission is signature-only, only code built directly into the
platform can use it. Third party applications cannot use these
permissions.
--
chris tate
android framework engineer