我有一个服务可以启动" BroadcastReceiver"在用户完成引导(ACTION_BOOT_COMPLETED)之后以及设备进入休眠状态(ACTION_SCREEN_OFF)之后。我的" BroadcastReceiver"检查何时收到来电(TelephonyManager.CALL_STATE_RINGING)并启动"服务"记录通话。它正在工作,但问题是当我把手机放到耳边时,我的设备在通话期间关闭了显示器,因此该服务再次启动" BroadcastReceiver"。有人知道如何解决它吗?
public class MyService extends Service {
private BroadcastReceiver mReceiver;
@Override
public void onCreate() {
IntentFilter filter = new IntentFilter(Intent.ACTION_BOOT_COMPLETED);
filter.addAction(Intent.ACTION_SCREEN_OFF);
mReceiver = new MyReceiver();
registerReceiver(mReceiver, filter);
}
答案 0 :(得分:0)
这应该是不可能的,因为电话应用程序在forground中并且如果它检测到接近事件附近时触发显示。你可以设置一个唤醒锁,然后释放它。