我正在尝试建立一个类似待机的活动,并且我已经接近我的目标,我发现的唯一问题是有时在我关闭屏幕后,Android 会立即打开它,但我不明白为什么。
我有一个连接到专有板的终端,当我启动特定活动时,我可以让板向我的设备发送消息以关闭屏幕。结果是屏幕关闭,但只是片刻,因为 Android 立即打开屏幕。
这是我的应用程序的日志
I/ProprietaryStandbyActivity(31326): onCreate
I/ProprietaryStandbyActivity(31326): terminalDisplayOff 192.168.0.123
Sending UDP message to turn Off the screen
D/WindowManager( 2147): mBootFastRuning = false shutdhownPending = false
D/InputManager-JNI( 2147): handleInterceptActions: Not passing key to user.
D/OpenGLRenderer(31326): Enabling debug mode 0
I/ActivityManager( 2147): Displayed ProprietaryStandbyActivity: +208ms
D/WindowManager( 2147): mBootFastRuning = false shutdhownPending = false
D/InputManager-JNI( 2147): handleInterceptActions: Going to sleep.
D/InputManager-JNI( 2147): handleInterceptActions: Not passing key to user.
I/PowerManagerService( 2147): Going to sleep by user request...
I/LQ ( 2147): ########## Thread(StopWifi).start( !!!!
D/SurfaceFlinger( 1302): Screen released, type=0 flinger=0xb84ed450
E/IMGSRV ( 1302): :0: ####hwc_device_blank: disp:0 blank:1
V/ProprietaryStandbyActivity(31326): Called onPause
I/ProprietaryStandbyActivity(31326): onStop
D/PowerManagerService-JNI( 2147): Excessive delay in autosuspend_enable()
while turning screen off: 380ms
D/UdpExecutor(30580): ###UDP socket listening...
D/WindowManager( 2147): mBootFastRuning = false shutdhownPending = false
D/InputManager-JNI( 2147): handleInterceptActions: Waking up.
D/SensorManager( 2147): >>>>>>> set discard sensrtime =3
E/&&&&&& ( 2147): /data/user/gsensor_data ----> not exists.
D/InputManager-JNI( 2147): handleInterceptActions: Not passing key to user.
D/SurfaceFlinger( 1302): Screen acquired, type=0 flinger=0xb84ed450
E/IMGSRV ( 1302): :0: ####hwc_device_blank: disp:0 blank:0
I/PowerManagerService( 2147): Waking up from sleep...
V/KeyguardServiceDelegate( 2147): onScreenTurnedOn(showListener =
com.android.internal.policy.impl.PhoneWindowManager$18@41da4ae0)
V/KeyguardServiceDelegate( 2147): **** SHOWN CALLED ****
I/WindowManager( 2147): No lock screen! windowToken=null
我看不懂的奇怪日志是这一行
D/InputManager-JNI( 2147): handleInterceptActions: Waking up.
似乎 InputManager 类以某种方式接收到唤醒屏幕的输入,即使我没有输入。有人知道为什么会这样吗?