Flutter URL跳转插件easy_url_launcher的使用

Flutter URL跳转插件easy_url_launcher的使用

easy_url_launcher 是一个基于 url_launcher 的Flutter插件,用于在应用中实现拨打电话、发送短信、发送电子邮件以及打开URL等功能。以下是该插件的详细使用说明和示例代码。

特性

  • 使用非常简单。
  • 支持所有平台。

开始使用

添加依赖

在终端中运行以下命令将 easy_url_launcher 包添加到你的项目中:

flutter pub add easy_url_launcher

导入包

在你的Dart文件中导入包:

import 'package:easy_url_launcher/easy_url_launcher.dart';

示例Demo

Easy Launcher Demo

使用方法

你可以自由地在代码中使用 asyncawait。下面是一个完整的示例:

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

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const Home(),
    );
  }
}

class Home extends StatelessWidget {
  const Home({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Easy Launcher example"),
      ),
      body: SafeArea(
          child: Padding(
        padding: const EdgeInsets.all(30),
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: [
              MaterialButton(
                color: Colors.green,
                onPressed: () async {
                  await EasyLauncher.call(number: "767676776");
                },
                child: const Text("Call to a number"),
              ),
              MaterialButton(
                color: Colors.greenAccent,
                onPressed: () async {
                  await EasyLauncher.call(number: "*123#");
                },
                child: const Text("Run a ussd code"),
              ),
              MaterialButton(
                color: Colors.blue,
                onPressed: () async {
                  await EasyLauncher.sms(number: "1010", message: "Hello");
                },
                child: const Text("Send a sms"),
              ),
              MaterialButton(
                color: Colors.indigo,
                textColor: Colors.white,
                onPressed: () async {
                  await EasyLauncher.email(
                      email: "sarwari.developer@gmail.com",
                      subject: "Test",
                      body: "Hello Flutter developer");
                },
                child: const Text("Send an email"),
              ),
              MaterialButton(
                color: Colors.deepPurple,
                textColor: Colors.white,
                onPressed: () async {
                  await EasyLauncher.url(url: "https://pub.dev");
                },
                child: const Text("Open url"),
              ),
              MaterialButton(
                color: Colors.red,
                textColor: Colors.white,
                onPressed: () async {
                  await EasyLauncher.openMap(
                      lati: "36.7032925", long: "67.1891222");
                },
                child: const Text("Open Google map"),
              ),
              MaterialButton(
                color: Colors.pink,
                textColor: Colors.white,
                onPressed: () async {
                  await EasyLauncher.url(
                      url: "https://www.instagram.com/qasim.dev",
                      mode: Mode.platformDefault);
                },
                child: const Text("Open url in default app"),
              ),
              MaterialButton(
                color: Colors.green[700],
                textColor: Colors.white,
                onPressed: () async {
                  await EasyLauncher.sendToWhatsApp(
                      phone: "+93700000000", message: "hi");
                },
                child: const Text("Send to whatsapp"),
              ),
            ],
          ),
        ),
      )),
    );
  }
}

功能解释

  • 拨打电话:使用 EasyLauncher.call(number: "767676776") 可以拨打指定电话号码。
  • 发送短信:使用 EasyLauncher.sms(number: "1010", message: "Hello") 可以发送短信。
  • 发送邮件:使用 EasyLauncher.email(email: "sarwari.developer@gmail.com", subject: "Test", body: "Hello Flutter developer") 可以发送邮件。
  • 打开URL:使用 EasyLauncher.url(url: "https://pub.dev") 可以在浏览器或默认应用中打开指定URL。
  • 打开地图:使用 EasyLauncher.openMap(lati: "36.7032925", long: "67.1891222") 可以在Google地图中打开指定位置。
  • 发送消息到WhatsApp:使用 EasyLauncher.sendToWhatsApp(phone: "+93700000000", message: "hi") 可以发送消息到指定的WhatsApp用户。

通过这些功能,你可以在Flutter应用中轻松实现各种外部链接和通信功能。希望这个示例能帮助你更好地理解和使用 easy_url_launcher 插件。


更多关于Flutter URL跳转插件easy_url_launcher的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter URL跳转插件easy_url_launcher的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是关于如何在Flutter项目中使用easy_url_launcher插件来实现URL跳转的代码示例。这个插件是对url_launcher的一个简单封装,提供了更加简洁的API来进行URL跳转。

首先,你需要在你的pubspec.yaml文件中添加easy_url_launcher依赖:

dependencies:
  flutter:
    sdk: flutter
  easy_url_launcher: ^x.y.z  # 请替换为最新版本号

然后,运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中使用这个插件。下面是一个简单的示例,展示了如何在按钮点击时打开一个URL:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter URL Launcher Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter URL Launcher Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 要跳转的URL
            String url = 'https://www.flutter.dev';
            try {
              // 使用easy_url_launcher打开URL
              await launchUrl(url);
            } catch (e) {
              // 处理错误,例如URL格式不正确或者没有安装浏览器
              print('Failed to launch $url: $e');
            }
          },
          child: Text('Open Flutter Website'),
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个按钮。当用户点击按钮时,应用会尝试打开Flutter的官方网站。launchUrl函数是easy_url_launcher插件提供的,用于打开指定的URL。

注意,由于easy_url_launcher是基于url_launcher的封装,因此在实际使用中,你可能需要添加对androidios平台特定的配置,比如声明对外部URL打开的权限。这些配置通常可以在插件的官方文档中找到详细说明。

不过,对于大多数基本用途来说,上面的代码应该已经足够了。如果你遇到任何问题,或者需要更高级的功能,建议查阅easy_url_launcher的官方文档或url_launcher的官方文档以获取更多信息。

回到顶部