做屏幕关闭时的东西,但当应用程序转到背景时关闭
问题描述:
当用户关闭屏幕时,我必须允许我的应用程序执行某些操作,但当用户转到主屏幕(或其他应用程序)时,我必须停止服务。做屏幕关闭时的东西,但当应用程序转到背景时关闭
我试图处理电源按钮,但它不工作。 然后创建ScreenReceiver这样的:
@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;
}
}
但它改变wasScreenOn值为时已晚(的onStop方法被调用后)
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop");
if (powerButtonClicked)
return;
if (mBound) {
mMediaService.onStop();
}
}
电源按钮始终是假的... ...它改变为时已晚
如何正确执行此操作?
答
好的,我找到答案。 所有你需要做的就是声明PowerManager的
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
和的onStop()
if (!powerManager.isScreenOn())
{
// Screen is off
}