인프런 커뮤니티 질문&답변

classbinu님의 프로필 이미지
classbinu

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

뒤로가기 버튼 클릭 시 앱 종료 문제

작성

·

1.6K

1

웹뷰는 정상적으로 작동하는데, 

안드로이드 시뮬레이터에서 뒤로 가기를 누르면

웹페이지에서 뒤로 가지 않고 앱이 종료되어 버립니다.

해결할 수 있는 문제인가요?

답변 2

1

classbinu님의 프로필 이미지
classbinu
질문자

이렇게 하니까 작동하는 것 같습니다!

 

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

class HomeScreen extends StatelessWidget {
  WebViewController? controller;
  HomeScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      child: SafeArea(
        child: Scaffold(
          body: WebView(
            onWebViewCreated: (WebViewController controller){
              this.controller = controller;
            },
            initialUrl: 'https://127.0.0.1',
            javascriptMode: JavascriptMode.unrestricted,
          ),
        ),
      ),
      onWillPop: () {
        var future = controller!.canGoBack();
        future.then((cnaGoBack) {
          if (cnaGoBack) {
            controller!.goBack();
          } else {
            SystemNavigator.pop();
          }
        });
        return Future.value(false);
      },
    );
  }
}

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요! 잘 해결하셨는데 이 부분은 Navigation 섹션에서 추가로 설명 더 드립니다!

classbinu님의 프로필 이미지
classbinu

작성한 질문수

질문하기