如果我的应用程序正在运行,并且我按下了锁定屏幕按钮,它会将该应用程序置于后台。有什么方法检查onPause()是否被调用屏幕锁定?。提前感谢。检查是否因屏幕锁定而调用了onPause活动状态
回答
您只需检查屏幕是否打开。
@Override
protected void onPause() {
super.onPause();
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean screenOn;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
screenOn = pm.isInteractive();
} else {
screenOn = pm.isScreenOn();
}
if (screenOn) {
// Screen is still on, so do your thing here
}
}
你只是想知道什么时候调用onPause?您可以覆盖超功能,并添加日志记录功能:
@Override
public void onPause() {
super.onPause();
System.out.println("On Pause called");
}
我知道.IN的onPause()方法,我需要知道,这是否在onPause由后退按钮或home键或锁屏 – 2014-09-05 20:32:00
你可以简单地知道它使用这种方法
@Override
public void onPause() {
super.onPause(); // Always call the superclass method first
System.out.println("On Pause called");
}
如何使设备保持清醒,同时锁屏。 Documentation.
你的情况好了,你就需要Wake_Lock
要使用唤醒锁,第一步是将WAKE_LOCK权限添加到您的应用程序的清单文件:
<uses-permission android:name="android.permission.WAKE_LOCK" />
如果您的应用程序包括使用服务做广告的广播接收器,您可以通过WakefulBroadcastReceiver来管理您的唤醒锁定,如Using a WakefulBroadcastReceiver.中所述这是首选方法。如果您的应用程序不遵循这一模式,这里是你如何直接设置唤醒锁:
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); Wakelock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag"); wakeLock.acquire();
要解除锁定之后,调用wakelock.release().这将释放你的要求给CPU。一旦应用程序完成使用后释放唤醒锁定非常重要,以避免电池电量耗尽。
设置powermanager后,请执行此操作。
boolean screenOn;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
screenOn = powerManager.isInteractive();
} else {
screenOn = powerManager.isScreenOn();
}
if (screenOn) {
// Screen is still on, so do your thing here
}
叫我知道.IN的onPause()方法,我需要知道,是否这个onpause被后退按钮或主页按钮或锁定屏幕调用 – 2014-09-05 20:30:39
是的,只要你离开你,就会调用'onPause()'方法。 – 2014-09-05 21:46:10
Inpause我正在执行一项操作。现在,我希望此操作在由于屏幕锁定而导致onpause发生时不会发生。在其他情况下,我希望执行该操作。 – 2014-09-05 22:12:03
- 1. OSX:检查屏幕是否锁定
- 2. 在onResume()如何识别onPause()是否因屏幕锁定或应用程序最小化而被调用
- 3. 是在屏幕超时时调用的活动onPause方法?
- 4. onPause屏幕锁定与来电差异
- 5. 服务需要检测工作站是否锁定,并且屏幕保护程序处于活动状态
- 6. 屏幕锁定时的状态栏android
- 7. 检测屏幕保护程序是否处于活动状态和/或用户是否已在Windows中锁定屏幕
- 8. Android活动解锁屏幕
- 9. 我的活动改变了屏幕锁定方向
- 10. 确定是否屏幕处于活动状态或不从Windows 8注册表
- 11. 活动带来的顶部,而屏幕锁定
- 12. 检测应用程序是否从锁定屏幕打开
- 13. 在窗体中输入时是否可以检查大写锁定按钮是否处于活动状态?
- 14. 检查是否ActiveRecord的被锁定在“更新”状态
- 15. 如何检查Android中是否设置了密码或屏幕锁?
- 16. 如何检查屏幕锁是否有密码?
- 17. 检查密码是否存在并在锁定屏幕上启用 - Android
- 18. 如何检查CMS块是否处于活动状态?
- 19. 如何检查AmazonS3Client连接是否处于活动状态
- 20. PDO:如何检查连接是否处于活动状态?
- 21. 检查表单在vb.net中是否处于活动状态
- 22. 如何检查变送器是否处于活动状态?
- 23. 检查它是否处于活动状态
- 24. 如何通过PHP检查JavaScript是否处于活动状态?
- 25. 检查代理是否处于活动状态
- 26. 如何检查服务器是否处于活动状态?(c#)
- 27. 启用锁定屏幕时如何启动活动?
- 28. Java应用程序是否有办法检测屏幕是否被锁定?
- 29. 使用python调用锁定屏幕
工作没有第一复杂if语句...非常感谢.. – 2014-09-06 10:45:25
if语句是因为'isScreenOn()'从API级别20开始不推荐使用,而是指代使用'isInteractive()'。 [PowerManager.isScreenOn()](http://developer.android.com/reference/android/os/PowerManager.html#isScreenOn()) – Nicklas 2014-09-06 14:09:56
是的,我忘了它..非常感谢 – 2014-09-06 16:49:44