使用BroadcastReceiver。聲明它的服務:
private final BroadcastReceiver myReceiver = new myReceiver();
在服務的onCreate:
final IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(myReceiver, filter);
在服務的onDestroy:
unregisterReceiver(myReceiver);
創建接收器:
public class myReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//Do something when the screen goes off
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
//Do something when it's back on
}
}
無論如何,請記住這些活動默認情況下,OnPause和onResume當屏幕關閉/開啓時
這發生在默認情況下,Android中的任何Activity都會在屏幕熄滅時暫停,並在屏幕再次打開時恢復。 – Egor