在Flutter中打开微信可以通过以下两种方式实现:
方法一:使用 url_launcher 包(推荐)
- 首先添加依赖到 pubspec.yaml:
dependencies:
  url_launcher: ^6.1.0
- 实现代码:
import 'package:url_launcher/url_launcher.dart';
// 打开微信主界面
Future<void> launchWeChat() async {
  const url = 'weixin://';
  
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw '无法打开微信';
  }
}
// 打开微信扫一扫
Future<void> launchWeChatScan() async {
  const url = 'weixin://scanqrcode';
  
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw '无法打开微信扫一扫';
  }
}
方法二:使用 android_intent(仅Android)
import 'package:android_intent/android_intent.dart';
Future<void> openWeChat() async {
  final intent = AndroidIntent(
    action: 'action_view',
    data: 'weixin://',
  );
  await intent.launch();
}
使用示例:
ElevatedButton(
  onPressed: launchWeChat,
  child: Text('打开微信'),
)
注意事项:
- iOS需要在 Info.plist中添加 URL Scheme 白名单
- 不同手机厂商可能有不同的限制
- 无法保证在所有设备上都可用
建议优先使用 url_launcher 方案,它提供了更好的跨平台兼容性。