출처 : http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/
리시버를 이용해서 찾는다
public
class
ScreenReceiver
extends
BroadcastReceiver {
public
static
boolean
wasScreenOn =
true
;
@Override
public
void
onReceive(Context context, Intent intent) {
if
(intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
wasScreenOn =
false
;
}
else
if
(intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
wasScreenOn =
true
;
}
}
}
사용하고자 하는 액티비티
public
class
ExampleActivity
extends
Activity {
@Override
protected
void
onCreate() {
IntentFilter filter =
new
IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver =
new
ScreenReceiver();
registerReceiver(mReceiver, filter);
}
@Override
protected
void
onPause() {
if
(ScreenReceiver.wasScreenOn) {
System.out.println(
"SCREEN TURNED OFF"
);
}
else
{
}
super
.onPause();
}
@Override
protected
void
onResume() {
if
(!ScreenReceiver.wasScreenOn) {
System.out.println(
"SCREEN TURNED ON"
);
}
else
{
}
super
.onResume();
}
}