'How to launch URL in Flutter?
NOTE: I've already searched for ages about this problem & read every similar problem on StackOverflow
I'm making Flutter app and I want to launch a URL on button click (Canvas based).
Everything was okay, until I used "url_launcher".
I'm using Flutter 1.13.6(Latest).
Below is the redirection function I'm using.
import 'package:url_launcher/url_launcher.dart' as URLLaucher;
abstract class URL {
static launchURL(String url) async {
url = Uri.encodeFull(url);
if (await URLLaucher.canLaunch(url)) {
await URLLaucher.launch(url);
} else {
throw 'Unknown error, can\'t launch the URL. Холбоост нэвтрэхэд алдаа гарлаа';
}
}
}
And this is the error log I'm gettin' when I run "flutter run" command.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':url_launcher'.
> Could not resolve all artifacts for configuration ':url_launcher:classpath'.
> Could not download gradle.jar (com.android.tools.build:gradle:3.4.2)
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.2/gradle-3.4.2.jar'.
> Read timed out
> Could not download builder.jar (com.android.tools.build:builder:3.4.2)
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.4.2/builder-3.4.2.jar'.
> Premature end of Content-Length delimited message body (expected: 31038805; received: 2359280
> Failed to notify project evaluation listener.
> Could not get unknown property 'android' for project ':url_launcher' of type org.gradle.api.Project.
> Could not find method implementation() for arguments [project ':url_launcher_web'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
> Could not find method implementation() for arguments [project ':url_launcher_macos'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Solution 1:[1]
I had the same error.
So I upgraded flutter to v1.12.13
and used url_launcher5.3.0
and it worked.
Solution 2:[2]
this happens when you do a hot restart after you added something to your pubspec.yaml - just close the app and install it again
Solution 3:[3]
pubspec.yaml
url_launcher: ^6.0.6
main.dart
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
const _url = 'https://flutter.dev';
void main() => runApp(
const MaterialApp(
home: Material(
child: Center(
// ignore: deprecated_member_use
child: RaisedButton(
onPressed: _launchURL,
child: Text('Bappa\'s apps in playstore'),
),
),
),
),
);
void _launchURL() async {
launch("https://play.google.com/store/search?q=pub%3ABAPPA%20SAIKH&c=apps" );
}
Solution 4:[4]
I used this syntax and worked for me
void _launchUrl() async {
if (!await launchUrl(_url)) throw 'Could not launch $_url';
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | VerySeriousSoftwareEndeavours |
Solution 2 | Edin |
Solution 3 | BAPPA SAIKH |
Solution 4 | Dhruvin Moradiya |