반응형
질문
I am building a Flutter app, and I'd like to open a URL into a web browser or browser window (in response to a button tap). How can I do this?
저는 Flutter 앱을 만들고 있으며 버튼 탭에 대한 응답으로 웹 브라우저 또는 브라우저 창에서 URL을 열고 싶습니다. 어떻게 할 수 있을까요?
답변
TL;DR
이제 이것은 플러그인으로 구현되었습니다.
const url = "https://flutter.io";
if (await canLaunchUrl(url))
await launchUrl(url);
else
// can't launch url, there is some error
throw "Could not launch $url";
전체 예제:
import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; void main() { runApp(new Scaffold( body: new Center( child: new RaisedButton( onPressed: _launchURL, child: new Text('Show Flutter homepage'), ), ), )); } _launchURL() async { const url = 'https://flutter.io'; final uri = Uri.parse(url); if (await canLaunchUrl(uri)) { await launchUrl(uri); } else { throw 'Could not launch $url'; } }
pubspec.yaml에서
dependencies:
url_launcher: ^6.1.7
최신 url_launcher 패키지를 확인하세요.
특수 문자:
url
값에 URL에서 허용되지 않는 공백 또는 다른 값이 포함되어 있으면
Uri.encodeFull(urlString)
또는 Uri.encodeComponent(urlString)
을 사용하여 결과 값을 전달하세요.
반응형
댓글