web-dev-qa-db-fra.com

Comment ouvrir un navigateur Web (URL) à partir de mon code Flutter?

Je suis en train de créer une application Flutter et j'aimerais ouvrir une URL dans un navigateur Web ou une fenêtre de navigateur (en réponse à une pression sur un bouton). Comment puis-je faire ceci?

22
Seth Ladd

Ceci est maintenant implémenté en tant que plugin

https://pub.dartlang.org/packages/url_launcher

Exemple:

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';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

Caractères spéciaux:

Si la valeur url contient des espaces ou d’autres valeurs désormais autorisées dans les URL, utilisez

Uri.encodeFull(urlString) ou Uri.encodeComponent(urlString) et transmettez la valeur obtenue à la place.

36

[REMARQUE: UrlLauncher n'existe plus. Voir la réponse acceptée pour la solution.]

Vous pouvez utiliser le UrlLauncher pour faire quelque chose comme ceci:

new FlatButton(
  textColor: style.mainTheme.accentColor,
  child: new Text(signInLabel, style: style.largeText),
  onPressed: () {
    UrlLauncher.launch('http://www.webpage.com');
  }
);
5
Reagankm

Après quelques recherches, vous pouvez résoudre ce problème en suivant les instructions indiquées ici: https://groups.google.com/forum/#!topic/flutter-dev/J3ujgdOuG98

La UrlLauncher ci-dessus n'est plus utilisable. 

0
TaylorR