If you have a Service that it active you can catch these events with
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// do something
}
}, new IntentFilter(Intent.ACTION_SCREEN_ON));
However this relies on having a perpetually running service which I have recently learned is discouraged because it is brittle (the OS likes to close them) and uses resources permanently.
Disappointingly, it seems it is not possible to have a receiver in your manifest that intercepts SCREEN_ON events.
This has come up very recently:
http://stackoverflow.com/questions/2575242/android-intent-action-screen-on-doesnt-work-as-a-receiver-intent-filter
also
http://stackoverflow.com/questions/1588061/android-how-to-receive-broadcast-intents-action-screen-on-off