Android 如何检测应用程序“何时运行”;“醒来”;显示超时?
对于工业应用程序,客户已要求用户在首次声明应用程序时登录,如果设备“进入睡眠状态”,也就是说,如果用户放下设备,屏幕关闭,则要求用户登录。如果用户放下设备走开了,而其他人在工厂里发现了它,那么这个人就必须用自己的ID登录应用程序 无论如何,我可以在应用程序首次启动时强制登录主屏幕活动的onCreate事件,但在显示超时后似乎没有“唤醒”的活动生命周期事件。onResume处理程序被调用用于所有类型的事情,比如仅仅从同一应用程序中的另一个活动返回,所以这太通用了 我如何检测我的应用程序何时从显示超时中唤醒 N.B.-我不在乎是否检测到显示器打开本身关于检测屏幕打开()的堆栈溢出有几次讨论,一致认为这很难,甚至可能是故意劝阻。我只想知道我自己的应用程序何时“唤醒”。如果检测屏幕打开是唯一或最好的方法,有人能告诉我一些示例代码吗 提前谢谢 我如何检测我的应用程序何时从显示超时中唤醒 使用Android 如何检测应用程序“何时运行”;“醒来”;显示超时?,android,Android,对于工业应用程序,客户已要求用户在首次声明应用程序时登录,如果设备“进入睡眠状态”,也就是说,如果用户放下设备,屏幕关闭,则要求用户登录。如果用户放下设备走开了,而其他人在工厂里发现了它,那么这个人就必须用自己的ID登录应用程序 无论如何,我可以在应用程序首次启动时强制登录主屏幕活动的onCreate事件,但在显示超时后似乎没有“唤醒”的活动生命周期事件。onResume处理程序被调用用于所有类型的事情,比如仅仅从同一应用程序中的另一个活动返回,所以这太通用了 我如何检测我的应用程序何时从显示超
registerReceiver()
(可能来自onResume()
)和unregisterReceiver()
(可能来自onPause()
)注册用户当前的操作ACTION\u USER\u PRESENT
与ACTION\u SCREEN\u ON
的不同之处在于ACTION\u USER\u PRESENT
在用户通过键盘前不会被调用,无论是刷卡解锁还是PIN码或其他什么
我的“可能”陈述是因为我从未尝试过你的特定场景。通常,您会在这些生命周期回调中使用这些方法来动态注册接收器,但对于操作\u USER\u PRESENT
,您可能必须更积极,使用onCreate()
和onDestroy()
或其他方法
大家一致认为这很难,甚至可能是故意劝阻
我不知道你是如何从这个问题及其答案中得出这个结论的
我只想知道我自己的应用程序何时“唤醒”
没有这样的概念。应用程序不会“唤醒”。设备“唤醒”有吗?是的,我做了一次搜索,我看到了上面的内容以及关于SCREEN_OFF(例如)的一些其他讨论,大家一致认为,这一方法要么非常困难,要么Android不鼓励。我将更新我的问题以反映这一点。如果用户(像我一样)没有任何键盘保护/滑动或任何活动,是否仍会触发当前的操作?我刚打开屏幕…@BrainCrash:我不知道,对不起