android– 如何在来电时区分屏幕开关状态?

android– 如何在来电时区分屏幕开关状态?,第1张

概述我的应用程序使用TelephonyManager.ACTION_PHONE_STATE_CHANGED进行某些 *** 作.但是当用户在场时(屏幕打开)电话响了,当用户不在时(屏幕关闭)时,我想要一个不同的动作.我在onReceive的开头尝试了isScreenOn()方法(因为当屏幕关闭且有来电时,屏幕会暂停一段时间).然而,没有运气–有

我的应用程序使用TelephonyManager.ACTION_PHONE_STATE_CHANGED进行某些 *** 作.但是当用户在场时(屏幕打开)电话响了,当用户不在时(屏幕关闭)时,我想要一个不同的动作.我在onReceive的开头尝试了isScreenOn()方法(因为当屏幕关闭且有来电时,屏幕会暂停一段时间).然而,没有运气 – 有时它有效,有时不行.广播与屏幕状态异步…

public voID onReceive(Context context, Intent intent) {    pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);    Boolean screenOn = pm.isScreenOn();    Log.w(TAG, "Screen on is " + screenOn.toString());

我怎么能改变我的代码来真正确定电话到达时手机是否正在睡觉?

解决方法:

好的,我得到了满足我的答案:

public voID onReceive(Context context, Intent intent) {    KeyguardManager kg = (KeyguardManager) context.getSystemService(Context.KEyguard_SERVICE);    Boolean screenBlocked = !kg.inKeyguardRestrictedinputMode();    Log.w(TAG, "Screen lock is " + screenBlocked.toString());

如果屏幕被锁定,此解决方案会提供信息.而且,在我的情况下,这就足够了 – 当来电期间屏幕被锁定时 – 这意味着没有用户.

总结

以上是内存溢出为你收集整理的android – 如何在来电时区分屏幕开/关状态?全部内容,希望文章能够帮你解决android – 如何在来电时区分屏幕开/关状态?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存