如何根据 Flutter 应用程序中锁定或关闭屏幕的检测采取行动

问题描述

通过使用来自 pub.dev 的名为 "torch_compat 1.0.2"Flutter 包在 Android 应用程序中打开/关闭手电筒,如何关闭手电筒(trigger TorchCompat.turnOff()) 当检测到锁定或关闭屏幕状态时。

当前代码

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,),);
  }
}

解决方法

也许您正在寻找这些package package2

详细了解 flutter App Lifecycle 可能会帮助您实现预期的结果。