0 purchases
url launcher with chrome
url_launcher #
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';
}
}
copied to clipboard
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:[email protected]?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: '[email protected]',
queryParameters: {
'subject': 'Example Subject & Symbols are allowed!'
}
);
// ...
// mailto:[email protected]?subject=Example+Subject+%26+Symbols+are+allowed%21
launch(_emailLaunchUri.toString());
copied to clipboard
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.