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 ответ
Вы зарегистрировали свой вещательный приемник???, если нет, то зарегистрируйте его, пожалуйста, и, если вы просто хотите заблокировать свое устройство, вы можете сделать это с помощью администратора или ключа политики устройства.