我的应用程序将TelephonyManager.ACTION_PHONE_STATE_CHANGED
用于某些操作。但是我想要在用户在场(屏幕打开)时电话响起时执行不同的操作,并且在用户不存在时(屏幕关闭)执行不同的操作。isScreenOn()
我在刚开始时尝试了该方法onReceive
(因为当屏幕关闭并且有来电时,屏幕会保持关闭一小会儿)。但是没有运气 - 有时它有效,有时无效。广播与屏幕状态是异步的...
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());
我怎样才能更改我的代码以真正确定电话到达时电话是否正在休眠?