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

Posted

技术标签:

【中文标题】如何根据检测到颤振应用程序中的锁定或关闭屏幕采取行动【英文标题】:How to take action based on detection of locked or off screen in flutter app 【发布时间】:2021-04-08 03:53:30 【问题描述】:

通过使用来自 pub.dev 的名为 "torch_compat 1.0.2" 的颤振包在 android 应用中打开/关闭手电筒,如何关闭手电筒 (在检测到锁定或关闭屏幕状态时触发 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,
        ),
      ),
    );
  

【问题讨论】:

【参考方案1】:

也许你正在寻找这些packagepackage2

更多关于flutter App Lifecycle 的信息可能会帮助您实现您想要的结果。

【讨论】:

以上是关于如何根据检测到颤振应用程序中的锁定或关闭屏幕采取行动的主要内容,如果未能解决你的问题,请参考以下文章

检测屏幕何时锁定 UWP

从主屏幕检测密码锁定状态

检测开/关键按Android

检测iPad的屏幕何时关闭或Unity中的Home按钮被按下事件?

活动开始但在屏幕关闭或锁定时不可见

Mac使用技巧:移除Mac开机密码或屏幕锁定密码的方法