You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何使用share插件实现向选定应用分享邀请好友消息

Flutter 使用分享类插件实现指定应用发送邀请消息的方案

目前社区主流使用的是share_plus插件,是原官方share插件的升级迭代版本,完全兼容原插件核心API,实现步骤如下:

1. 添加依赖

在项目的pubspec.yaml文件中添加依赖:

dependencies:
  flutter:
    sdk: flutter
  share_plus: ^7.2.2 # 可替换为当前最新稳定版本
  # 若需要实现iOS端直接拉起指定应用,额外添加以下依赖
  url_launcher: ^6.2.2

添加后执行flutter pub get完成依赖安装。

2. 平台配置

安卓端配置

在android/app/src/main/AndroidManifest.xml中添加权限配置:

<!-- 用于检测目标应用是否已安装 -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
    android:maxSdkVersion="33" />

如果需要分享本地图片/文件,还需要额外配置FileProvider,纯文本分享可跳过该步骤。

iOS端配置

在ios/Runner/Info.plist的dict节点下添加目标应用的白名单:

<key>LSApplicationQueriesSchemes</key>
<array>
  <!-- 示例为微信、QQ的Scheme,可根据你要指定的应用替换对应值 -->
  <string>weixin</string>
  <string>mqq</string>
</array>

3. 核心代码实现

基础分享(调用系统分享面板选择应用)

import 'package:share_plus/share_plus.dart';

// 调用分享的函数
void shareInviteMessage() {
  const String inviteText = "我发现了一款超好用的聊天APP,快来加入和我聊天吧~ 下载链接:xxx";
  Share.share(inviteText);
}

跳过系统面板,直接指定应用分享

import 'package:share_plus/share_plus.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:flutter/services.dart';
import 'dart:io' show Platform;

void shareToTargetApp() async {
  const String inviteText = "我发现了一款超好用的聊天APP,快来加入和我聊天吧~ 下载链接:xxx";
  try {
    if (Platform.isAndroid) {
      // 安卓端传入目标应用的包名,示例为微信包名
      await Share.share(
        inviteText,
        extra: {"package": "com.tencent.mm"},
      );
    } else if (Platform.isIOS) {
      // iOS端通过URL Scheme拉起目标应用
      final url = Uri.parse("weixin://send?text=${Uri.encodeComponent(inviteText)}");
      if (await canLaunchUrl(url)) {
        await launchUrl(url);
      } else {
        // 未安装目标应用的兜底逻辑
        print("未安装对应应用,请先安装后再尝试分享");
      }
    }
  } on PlatformException catch (e) {
    // 分享失败的异常处理
    print("分享失败:${e.message}");
  }
}

注意事项

  • 不同应用的安卓包名、iOS的URL Scheme需要自行查询对应应用开放平台文档获取
  • 若用户未安装指定的目标应用,需要做友好提示,避免出现无响应的情况
  • 如果需要分享图片、文件等其他类型内容,调整share_plus的入参即可实现

内容的提问来源于stack exchange,提问作者Bhavika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 03:30:04