Flutter:如何保持应用程序在后台运行

Chh*_*rum 6 android dart foreground-service flutter

我正在使用 flutter dart 开发前台应用程序,以保持应用程序在 Android 上后台运行。它工作正常,直到手机处于锁定屏幕时,应用程序显示通知仍在运行,但该功能将不起作用。对于这个问题有什么解决办法吗?谢谢

Mar*_* Dz 1

基本上你可以用https://api.flutter.dev/flutter/widgets/WidgetsBindingObserver-class.html来监听应用程序的变化WidgetBindingsObserver

可以在这里找到一篇关于这方面的好文章(尤其是锁屏): https: //medium.com/@tomalabasteruk/flutter-in-app-lock-screens-f6a17fa02af

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
  AppLifecycleState _notification; 
  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    setState(() {
      _notification = state;
    });
  }

  @override
  initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
    ...
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }
}
Run Code Online (Sandbox Code Playgroud)