url_launcher_with_chrome 5.7.11 copy "url_launcher_with_chrome: ^5.7.11" to clipboard
url_launcher_with_chrome: ^5.7.11 copied to clipboard

Flutter plugin for launching a URL on Android and iOS. Supports web, phone, SMS, and email schemes.

url_launcher #

pub package

A Flutter plugin for launching a URL in the mobile platform. Supports iOS, Android, web, Windows, macOS, and Linux.

Usage #

To use this plugin, add url_launcher as a dependency in your pubspec.yaml file.

Example #

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

void main() {
  runApp(Scaffold(
    body: Center(
      child: RaisedButton(
        onPressed: _launchURL,
        child: Text('Show Flutter homepage'),
      ),
    ),
  ));
}

_launchURL() async {
  const url = 'https://flutter.dev';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

Supported URL schemes #

The launch method takes a string argument containing a URL. This URL can be formatted using a number of different URL schemes. The supported URL schemes depend on the underlying platform and installed apps.

Common schemes supported by both iOS and Android:

Scheme Action
http:<URL> , https:<URL>, e.g. http://flutter.dev Open URL in the default browser
mailto:<email address>?subject=<subject>&body=<body>, e.g. mailto:smith@example.org?subject=News&body=New%20plugin Create email to
tel:<phone number>, e.g. tel:+1 555 010 999 Make a phone call to
sms:<phone number>, e.g. sms:5550101234 Send an SMS message to

More details can be found here for iOS and Android

Encoding URLs #

URLs must be properly encoded, especially when including spaces or other special characters. This can be done using the Uri class:

import 'dart:core';
import 'package:url_launcher/url_launcher.dart';

final Uri _emailLaunchUri = Uri(
  scheme: 'mailto',
  path: 'smith@example.com',
  queryParameters: {
    'subject': 'Example Subject & Symbols are allowed!'
  }
);

// ...

// mailto:smith@example.com?subject=Example+Subject+%26+Symbols+are+allowed%21
launch(_emailLaunchUri.toString());

Handling missing URL receivers #

A particular mobile device may not be able to receive all supported URL schemes. For example, a tablet may not have a cellular radio and thus no support for launching a URL using the sms scheme, or a device may not have an email app and thus no support for launching a URL using the email scheme.

We recommend checking which URL schemes are supported using the canLaunch method prior to calling launch. If the canLaunch method returns false, as a best practice we suggest adjusting the application UI so that the unsupported URL is never triggered; for example, if the email scheme is not supported, a UI button that would have sent email can be changed to redirect the user to a web page using a URL following the http scheme.

Browser vs In-app Handling #

By default, Android opens up a browser when handling URLs. You can pass forceWebView: true parameter to tell the plugin to open a WebView instead. If you do this for a URL of a page containing JavaScript, make sure to pass in enableJavaScript: true, or else the launch method will not work properly. On iOS, the default behavior is to open all web URLs within the app. Everything else is redirected to the app handler.

0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

Flutter plugin for launching a URL on Android and iOS. Supports web, phone, SMS, and email schemes.

Homepage
Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

flutter, url_launcher_linux, url_launcher_macos, url_launcher_windows, url_launcher_with_chrome_platform_interface

More

Packages that depend on url_launcher_with_chrome