onInitialize method

  1. @override
bool onInitialize()
override

Callback when this executor is initialized. Returns true if successfully initialized, false otherwise.

Note that this is a non-async method and should hence be 'light-weight' and not block execution for a long duration.

Implementation

@override
bool onInitialize() {
  if (!Platform.isAndroid) {
    throw SensingException('TextMessageProbe only available on Android.');
  }

  Telephony.instance.listenIncomingSms(
    onNewMessage: (SmsMessage message) {
      _textMessageProbeController
          .add(Measurement.fromData(TextMessage.fromSmsMessage(message)));
    },
    onBackgroundMessage: backgrounMessageHandler,
  );
  return true;
}