Skip to content

分享

免费插件

此插件免费开源,采用 MIT 许可证。

概述

Share API 提供跨平台的原生分享表单功能,用于分享 URL、文本和文件。

安装

shell
composer require nativephp/mobile-share

使用

分享 URL

php
use Native\Mobile\Facades\Share;

// 分享带标题和文本的 URL
Share::url('看看这个!', '发现了这篇很棒的文章', 'https://example.com');
js
import { share } from '#nativephp';

// 分享 URL
await share.url('看看这个!', '发现了这篇很棒的文章', 'https://example.com');

分享文件

php
use Native\Mobile\Facades\Share;

// 分享文件
Share::file('我的录音', '听听这个!', '/path/to/audio.m4a');

// 只分享文本(无文件)
Share::file('你好', '这是我的消息', '');
js
import { share } from '#nativephp';

// 分享文件
await share.file('我的录音', '听听这个!', '/path/to/audio.m4a');

// 只分享文本
await share.file('你好', '这是我的消息');

方法

url(string $title, string $text, string $url)

使用 URL 打开原生分享表单。

参数类型描述
titlestring分享对话框标题/主题
textstring与 URL 一起包含的文本消息
urlstring要分享的 URL

file(string $title, string $text, string $filePath)

使用文件或文本打开原生分享表单。

参数类型描述
titlestring分享对话框标题/主题
textstring要分享的文本消息
filePathstring文件的绝对路径(可选)

支持的文件类型

分享表单会自动检测常见文件格式的 MIME 类型:

  • 音频: m4a、aac、mp3、wav、ogg、flac
  • 视频: mp4、m4v、mov、avi、mkv、webm
  • 图片: jpg、jpeg、png、gif、webp
  • 文档: pdf、txt

平台行为

Android

  • 使用 Intent.ACTION_SENDIntent.createChooser
  • 文件通过 FileProvider 安全分享
  • 应用存储中的文件会创建临时副本
  • 旧的分享临时文件会自动清理

iOS

  • 使用 UIActivityViewController
  • 支持 iPad 弹出式展示
  • 文件通过文件 URL 直接分享

基于 NativePHP 官方文档翻译