Android BroadcastReceiver НЕ работает с IntentFilter

The control is not Entering inside the --> receiver = (BroadcastReceiver) (context, intent) -> { ===== loop

Я пытаюсь заблокировать экран (Android), и он не входит в цикл после создания объекта BroadcastReceiver. Я пытаюсь заблокировать экран с помощью датчика приближения.

public class ScreenLockerService extends Service {

    protected static final String TAG = ScreenLockerService.class.getCanonicalName();
    BroadcastReceiver receiver;

    @Override
    public void onCreate() {
        super.onCreate();
        Log.d(TAG, "onCreate");
        ProximitySensor.getInstance(getApplicationContext());
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_SCREEN_ON);

        System.out.println("Screen is being locked");
//        ScreenLock.lockScreen(getApplicationContext());
  //      Vibration.vibrate(getApplicationContext());
receiver = (BroadcastReceiver) (context, intent) -> {
                System.out.println("Screen....");

                try {
                    ProximitySensor proximitySensor = ProximitySensor.getInstance(context);
                    if (proximitySensor.hasProximitySensorHardware() && proximitySensor.isClose()) {
                        Log.d(TAG, "lock");
                        if (CallStatus.isCallStateIdle(context)) {
                            ScreenLock.lockScreen(context);
                            Vibration.vibrate(context);
                        }
                    }
                } catch (Exception e) {
                    Log.d(TAG, "Exception occurred: " + e);
                }
            }
        };
        registerReceiver(receiver, filter);
    }

1 ответ

Вы зарегистрировали свой вещательный приемник???, если нет, то зарегистрируйте его, пожалуйста, и, если вы просто хотите заблокировать свое устройство, вы можете сделать это с помощью администратора или ключа политики устройства.

Другие вопросы по тегам