Вы можете использовать широковещательный приемник с фильтрами действий android.intent.action.SCREEN_ON и android.intent.action.SCREEN_OFF
Маленький пример:
Ваш получатель:
public class ScreenOnOffReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(Intent.ACTION_SCREEN_ON))
{
// some code
}
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF))
{
// some code
}
}
}
Ваш манифест:
<receiver android:name=".ScreenOnOffReceiver">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.intent.action.SCREEN_OFF" />
</intent-filter>
</receiver>