我已经在SO上阅读了很多关于这个主题的内容。
我试图写SIP客户端,当然应该在设备休眠时接受来电。
我尝试过的第一件事就是在onCreate
方法中使用这些标记:
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
我的设备(不同型号的手机和不同的API级别)仅在通过USB电缆插入电脑或正在充电过程中时才会醒来。
当电话被拔掉时,没有标志的影响。然后我发现一个人已经在SO上问了一个类似的问题:Android - Wake Up and Unlock Device没有人回复他,过了一段时间他就找到了问题并回复了问题。答案是使用 PowerManager 类。他的回答对我帮助很大,但是PowerManager的文档说"使用这个API" 会严重影响设备的电池寿命。我觉得自己。我的应用开始使用太多的电池能量。我将我的应用程序与WhatsApp进行了比较,并看到了使用电池能量的巨大差异
那么,是否还有其他方法可以在睡眠或唤醒时唤醒设备
有没有人知道这个过程在WhatsApp,Skype和其他接收来电的应用程序中如何工作并节省电池寿命?
答案 0 :(得分:0)
您可以使用 -
android:showOnLockScreen="true"
在您的清单文件和活动中,您希望它出现在屏幕锁定中。