我正在创建一台带平板电脑的汽车电脑(华硕MemoPad ME572C)。 我有一个arduino通过usb到串口适配器与平板电脑连接。现在我需要能够从待机状态开启屏幕。
我尝试的是把它放在活动的创造中
self.sp1_val and self.sp2_val
这是有效的但如果我让平板电脑停留一分钟左右就会变成待机状态,我再也无法将其唤醒了。 看起来平板电脑已停止我的服务或只是不听串口。
我不知道如何调试或解决它。希望你能帮忙。
PS:对不起,我的英语不是很好。
答案 0 :(得分:0)
请注意,对于您使用的方法(WindowManager.LayoutParams标记),您的活动需要全屏显示。
如果这不起作用,请尝试this answer. 这是一种折旧的方法,所以你不想长期保留它。
引自@Yar:
唤醒屏幕:
PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK |
PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP) " TAG&#34); wakeLock.acquire();
要解除屏幕锁定:
KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG"); keyguardLock.disableKeyguard();
清单需要包含:
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
有关PowerManager的更多详细信息,请参阅API文档: http://developer.android.com/reference/android/os/PowerManager.html
如果这不起作用,您需要调查服务是否正在关闭。您应该可以通过在服务上调用startForeground()
来阻止这种情况发生。有关说明和示例代码,请参阅the documentation。