我在尝试生成的 Android 代码方面遇到了一些麻烦。我想要做的只是打印一个 1 如果用户想要解锁他们的手机,当程序第一次启动时,当用户按下屏幕锁定来锁定他们的手机时打印一个 0。我认为这与 Android 生命周期有关,所以我尝试使用 onPause 和 onResume,但我的程序只打印出 0,而不是 1。logTime 方法简单地打印出 1 或 0,而 MainActivity 中的 onCreate 方法调用 onResume() 一次。这是我的代码:
主要活动:
protected void onPause(){
if(ScreenReceiver.screenOn){
logTime(ScreenReceiver.screenOn);
super.onPause();
}
protected void onResume()
if(!ScreenReceiver.screenOn){
logTime(!ScreenReceiver.screenOn);
super.onResume();
}
屏幕接收器:
public class ScreenReceiver extends BroadcastReceiver{
public static boolean screenOn;
@Override
public void onReceive(Context context, Intent intent){
if(intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){
screenOn = false;
}
else if(intent.getAction().equals(Intent.ACTION_SCREEN_ON)){
screenOn = true;
}
}
}
我不确定为什么它只打印出 0。可能有人知道为什么吗?谢谢!