launchURL static method

Future<bool> launchURL(
  1. String url,
  2. {bool ensureURLScheme = false,
  3. bool forceExternalApplication = false}
)

Implementation

static Future<bool> launchURL(String url,
    {bool ensureURLScheme = false,
    bool forceExternalApplication = false}) async {
  try {
    final String suitableURL;
    if (ensureURLScheme &&
        !url.startsWith('http://') &&
        !url.startsWith('https://') &&
        !url.startsWith('ftp://') &&
        !url.startsWith('file://')) {
      suitableURL = 'http://$url';
    } else {
      suitableURL = url;
    }

    final uri = Uri.parse(suitableURL);

    if (forceExternalApplication) {
      bool externalAppLaunchSucceeded =
          await launchUrl(uri, mode: LaunchMode.externalApplication);
      if (externalAppLaunchSucceeded) return true;
    }

    return await launchUrl(uri);
  } catch (e) {
    print(e);
  }
  return false;
}