返回

Flutter 使用 url_launcher 唤醒三方应用

见解分享

我们经常会在 App 中遇到需要唤醒其他三方应用的场景,例如:

  • 打开系统设置
  • 打开其他 App(如浏览器、音乐播放器)
  • 打电话或发短信
  • 打开地图 App 定位

在 Flutter 中,我们可以使用 url_launcher 插件来轻松实现这些功能。

安装

在你的 Flutter 项目中添加 url_launcher 依赖:

dependencies:
  url_launcher: ^6.1.0

用法

打开系统设置

import 'package:url_launcher/url_launcher.dart';

// 打开系统设置
launch('app-settings:');

打开其他 App

// 打开浏览器打开指定 URL
launch('https://flutter.dev');

// 打开音乐播放器播放指定歌曲
launch('spotify:track:123456789');

// 打开地图 App 定位指定坐标
launch('geo:45.524101,-122.671709');

打电话或发短信

// 打电话
launch('tel:1234567890');

// 发短信
launch('sms:1234567890?body=Hello%20world');

注意事项

  • 唤醒三方应用需要依赖三方应用已安装。
  • 不同的平台支持不同的协议,需要根据平台进行判断。
  • 有些协议需要额外的权限,如定位需要 ACCESS_FINE_LOCATION 权限。

示例代码

以下是一个示例代码,展示了如何使用 url_launcher 打开系统设置:

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

class OpenSettingsButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () async {
        // 打开系统设置
        if (await canLaunch('app-settings:')) {
          await launch('app-settings:');
        }
      },
      child: Text('打开系统设置'),
    );
  }
}

结论

url_launcher 插件为 Flutter 开发者提供了一个简单易用的方式来唤醒三方应用。通过使用 url_launcher,我们可以轻松实现各种场景下的三方应用唤醒需求。