#flutter #background-process #flashlight #off-screen
#flutter #фоновый процесс #фонарик #вне экрана
Вопрос:
Используя пакет flutter из 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:
Возможно, вы ищете этот пакет package2
Более подробная информация о жизненном цикле приложения flutter может помочь вам в достижении желаемых результатов.
Комментарии:
1. Как отслеживать активность пользователя в приложении, я имел в виду, что пользователь нажимает / переходит в приложение (на всем экране)? Я хочу глобальное решение, а не путем реализации GestureDetection на каждом экране. Есть идеи по этому поводу?