在Flutter中实现微信分享功能,可以通过以下步骤完成:
1. 添加依赖
在 pubspec.yaml 中添加 fluwx 插件:
dependencies:
fluwx: ^3.15.0
运行 flutter pub get 安装依赖。
2. 配置平台
Android:
- 在
AndroidManifest.xml 中添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
- 注册WXEntryActivity(在
android/app/src/main/java/.../ 下创建 wxapi 目录,添加 WXEntryActivity.java):
package your.package.name.wxapi;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
public class WXEntryActivity extends FluwxWXEntryActivity {
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
}
iOS:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>weixin</string>
<key>CFBundleURLSchemes</key>
<array>
<string>wxYOUR_APP_ID</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
</array>
3. 初始化与注册
在 main.dart 中初始化:
import 'package:fluwx/fluwx.dart' as fluwx;
void main() {
runApp(MyApp());
fluwx.register(
appId: "YOUR_WECHAT_APP_ID",
doOnAndroid: true,
doOnIOS: true,
enableMTA: false
);
}
4. 实现分享功能
示例代码分享文本和图片:
// 分享文本
void shareText() {
fluwx.shareToWeChat(
fluwx.WeChatShareTextModel(
text: "分享内容",
scene: fluwx.WeChatScene.SESSION // 会话
)
);
}
// 分享图片
void shareImage() async {
var result = await fluwx.shareToWeChat(
fluwx.WeChatShareImageModel(
image: fluwx.WeChatImage.network("https://example.com/image.jpg"),
scene: fluwx.WeChatScene.TIMELINE // 朋友圈
)
);
print("分享结果: ${result.isSuccessful}");
}
5. 处理回调
监听分享结果:
fluwx.weChatResponseEventHandler.listen((res) {
if (res is fluwx.WeChatShareResponse) {
if (res.isSuccessful) {
print("分享成功");
} else {
print("分享失败: ${res.errorCode}");
}
}
});
注意事项:
- 需要申请微信开放平台AppID并配置应用签名
- Android包名必须与注册时一致
- iOS需配置URL Types
通过以上步骤即可在Flutter应用中集成微信分享功能。建议测试前先确认微信SDK环境配置正确。