8

应用程序的通常行为是在按下后退按钮时退出。我想要的是当按下后退按钮时,应用程序无需退出即可进入后台。就像我们从一个应用程序切换到另一个应用程序时发生的情况一样。

我知道这将涉及使用WillPopScope()但如何处理onBackPressed事件以将应用程序保持在后台,而不是退出。

4

2 回答 2

1

虽然现在回答已经很晚了,但我希望它可以帮助别人和我自己。

在这种情况下,我认为有一个插件可以提供帮助。

https://pub.dev/packages/move_to_background

它易于使用,并且具有很高的评价。

于 2021-12-21T09:30:11.000 回答
-1

尝试以下代码它将起作用:

代码:

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

void main() => runApp((MainScreen()));

class MainScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: MyApp(),
    );
  }
}

class MyApp extends StatefulWidget {
  MyApp({Key key}) : super(key: key);

  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () => SystemChannels.platform.invokeMethod(
          'SystemNavigator.pop'), // this is use to keep the app in background
      child: Scaffold(
        body: Center(
          child: Text("Text"),
        ),
      ),
    );
  }
}
于 2019-06-15T07:31:14.040 回答