flutterbackground-processflashlightoff-screen

How to take action based on detection of locked or off screen in flutter app


By using a flutter package from pub.dev named "torch_compat 1.0.2" for turning on/off flashlight in android app, how to turn off flashlight (trigger TorchCompat.turnOff()) when locked or off screen state detected.

Current code:

import 'package:flutter/material.dart';
import 'package:torch_compat/torch_compat.dart';

class FlashlightOnOffButton extends StatefulWidget {
  @override
  _FlashlightOnOffButtonState createState() => _FlashlightOnOffButtonState();
}

class _FlashlightOnOffButtonState extends State<FlashlightOnOffButton> {
  bool isFlashlightOn = false;
  @override
  Widget build(BuildContext context) {
    final data = MediaQuery.of(context);
    var isPortrait = MediaQuery.of(context).orientation;
    return Container(
      child: FlatButton(
        onPressed: () {
          isFlashlightOn ? TorchCompat.turnOff() : TorchCompat.turnOn();
          setState(() {
            isFlashlightOn = !isFlashlightOn;
          });
        },
        child: Icon(
          Icons.lightbulb,
          color: isFlashlightOn ? Colors.deepOrangeAccent : Colors.white10,
        ),
      ),
    );
  }
}


Solution

  • Maybe your are looking for these package package2

    A more about flutter App Lifecycle may help you in achieving your desired results.