在颤动中按下移动后退按钮后网站应用程序未退出

Posted

技术标签:

【中文标题】在颤动中按下移动后退按钮后网站应用程序未退出【英文标题】:Website App is not Exiting after pressing mobile back button in flutter 【发布时间】:2020-05-11 06:15:20 【问题描述】:

我使应用程序在导航栏中具有功能。(重新加载网页)(返回网页)。(浏览网页的转发。) 我面临的问题我想退出应用程序,它没有通过移动后退按钮退出。在模拟器应用程序正在退出但在实际的 android 设备中它没有退出。我怎样才能退出应用程序。我是新来的,所以不知道怎么做。

代码:main.dart

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
main()=>runApp(MyApp());
class MyApp extends StatefulWidget 
  @override
  _MyAppState createState() => _MyAppState();


class _MyAppState extends State<MyApp> 
   int currentTab = 1;
   void splitScreen(int i) 
    switch (i) 
      case 0:
        FlutterWebviewPlugin().close();
        break;
      case 1:
        FlutterWebviewPlugin().reload();
        break;
      case 2:
        FlutterWebviewPlugin().goForward();
        break;
    
  

  @override
  Widget build(BuildContext context) 
    return new MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter WebView Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      routes: 
        "/": (_) => new WebviewScaffold(
              url: "https://www.lucrurile-care-conteaza-cel-mai-mult.ro/",
              // appBar: new AppBar(
              //   title: new Text("Widget webview"),

              // ),
              withZoom: true,
              withLocalStorage: true,
              hidden: true,
              initialChild: Center(
                child: Container(
                  height: 210,
                  width: 200,
                  decoration: BoxDecoration(
                    // shape: BoxShape.circle,
                    // boxShadow: [
                    //   BoxShadow(
                    //       color: Colors.black87,
                    //       blurRadius: 10.0,
                    //       spreadRadius: 0.5,
                    //       offset: Offset.fromDirection(10)),
                    // ],
                    image: DecorationImage(
                        image: AssetImage(
                          'images/3f2c979b214d06e9caab8ba8326864f3.gif',
                        ),
                        fit: BoxFit.cover),
                  ),
                ),
              ),
              bottomNavigationBar: BottomNavigationBar(
                currentIndex: currentTab,
                onTap: (i) 
                  splitScreen(i);
                  setState(() 
                    currentTab = i;
                  );

    ,
                items: [
                  BottomNavigationBarItem(
                    icon: Icon(Icons.arrow_back_ios),
                    title: Text('Back'),
                    backgroundColor: Colors.blue,
                  ),
                   BottomNavigationBarItem(
                    icon: Icon(Icons.refresh),
                    title: Text('Refresh'),
                    backgroundColor: Colors.blue,
                  ), BottomNavigationBarItem(
                    icon: Icon(Icons.arrow_forward_ios),
                    title: Text('Forward'),
                    backgroundColor: Colors.blue,
                  ),
                ],
              ),
            ),
      ,
    );
  

【问题讨论】:

【参考方案1】:

完成flutter clean命令后,它会正常退出。

【讨论】:

以上是关于在颤动中按下移动后退按钮后网站应用程序未退出的主要内容,如果未能解决你的问题,请参考以下文章

在移动 Safari 中按下后退按钮后,Javascript 停止在 iframe 中执行

在android中按下后退按钮后如何返回相同的选项卡?

颤振:我怎样才能抓住后退按钮按下退出我的应用程序

在颤动中按下注销按钮后如何重定向到登录页面

如何从 Cordova 中的 android 设备后退按钮退出应用程序?

如何防止在android片段中按下后退按钮时调用onCreateView