share_to_whatsapp 0.0.1 copy "share_to_whatsapp: ^0.0.1" to clipboard
share_to_whatsapp: ^0.0.1 copied to clipboard

outdated

Simple way to share message, links or files from your flutter app to specific contact in whatsapp

example/lib/main.dart

import 'dart:async';
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:whatsapp_share/whatsapp_share.dart';
import 'package:image_picker/image_picker.dart';
import 'package:path_provider/path_provider.dart';
import 'package:screenshot/screenshot.dart';

void main() => runApp(MyApp());

// ignore: must_be_immutable
class MyApp extends StatelessWidget {
  final _controller = ScreenshotController();
  File _image;

  Future<void> share() async {
    await WhatsappShare.share(
      text: 'Example share text',
      linkUrl: 'https://flutter.dev/',
      phone: '9899950975',
      package: Package.whatsapp
    );
  }

  Future<void> shareFile() async {
    await getImage();
    // Directory directory;
    // if (Platform.isAndroid) {
    //   directory = await getExternalStorageDirectory();
    // } else {
    //   directory = await getApplicationDocumentsDirectory();
    // }
    print('${_image.path}');
    await WhatsappShare.shareFile(
      text: 'Hello',
      phone: '919899950975',
      filePath: ["${_image.path}"],
    );
  }

  Future<void> isInstalled() async {
    final val = await WhatsappShare.isInstalled();
    print('Whatsapp is installed: $val');
  }

  Future<void> shareScreenShot() async {
    Directory directory;
    if (Platform.isAndroid) {
      directory = await getExternalStorageDirectory();
    } else {
      directory = await getApplicationDocumentsDirectory();
    }
    final String localPath =
        '${directory.path}/${DateTime.now().toIso8601String()}.png';

    await Future.delayed(Duration(seconds: 1));

    await WhatsappShare.shareFile(
      text: 'Whatsapp message text',
      phone: '911234567890',
      filePath: [localPath],
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Whatsapp Share'),
        ),
        body: Center(
          child: Screenshot(
            controller: _controller,
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                ElevatedButton(
                  child: Text('Share text and link'),
                  onPressed: share,
                ),
                ElevatedButton(
                  child: Text('Share Image'),
                  onPressed: shareFile,
                ),
                ElevatedButton(
                  child: Text('Share screenshot'),
                  onPressed: shareScreenShot,
                ),
                ElevatedButton(
                  child: Text('is Installed'),
                  onPressed: isInstalled,
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }

  ///Pick Image From gallery using image_picker plugin
  Future getImage() async {
    try {
      XFile _pickedFile =
          await ImagePicker().pickImage(source: ImageSource.gallery);

      if (_pickedFile != null) {
        var file = File(_pickedFile.path);
        // getting a directory path for saving
        final directory = await getExternalStorageDirectory();
        // copy the file to a new path
        _image = await file.copy('${directory.path}/image1.png');
      } else {}
    } catch (er) {
      print(er);
    }
  }
}
2
likes
30
points
3
downloads

Publisher

unverified uploader

Weekly Downloads

Simple way to share message, links or files from your flutter app to specific contact in whatsapp

License

MIT (license)

Dependencies

flutter

More

Packages that depend on share_to_whatsapp

Packages that implement share_to_whatsapp