The Facebook Messenger offers this nice little feature called 'chat heads'. For that, it requests the permission to overlay everything. However, i read somewhere about the fact, that it can also see what is displayed on the screen. Can you tell me if that is true?
The "draw over other apps" permission (known to developers as
android.permission.SYSTEM_ALERT_WINDOW) only lets the app create a window of type
TYPE_SYSTEM_ALERT. This is the same type of window used by the battery warning, amongst other things, and is shown on top of any normal window, whatever you're doing.
Drawing this window on top of the other windows is done by Android itself. An app with this permission still can't read other parts of the screen or read other apps' data. This permission doesn't even let the app see (the names of) what other apps are running, which is controlled by a different permission called, "Retrieve running apps". Facebook Messenger doesn't use that permission, but the main Facebook app does, in order to support Facebook Home.
Even so, this permission is far from harmless. An app might use this permission to display pop-up ads when you're doing something else: ads that you can't dismiss, not even by pressing home. With a bit of cunning, it might even be possible for an app to place a window that conceals an important confirmation dialog, so that while you think you're answering "Yes" to a harmless question, the button belongs to a warning about installing further apps or deleting your data, which the system alert has hidden. This was a common tactic used by Windows malware a few years ago (before UAC arrived in Windows Vista).