Выполнение телефонного звонка из приложения флаттера

Я пытаюсь сделать телефонный звонок из своего приложения Flutter. Со следующим кодом:

UrlLauncher.launch('tel: xxxxxxxx');

Я нашел эту функцию в репозитории github flutter: https://github.com/flutter/flutter/issues/4856

Но это не работает для меня. Является ли эта функция еще во Флаттере и в каком пакете? Или есть лучший вариант сделать телефонный звонок из моего приложения?

Ответ 1

Я пробовал на Android/iOS этот launch("tel://214324234") и он работает хорошо. Вам необходимо установить пакет url_launcher и импортировать его

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      home: new Home(),
    );
  }
}

class Home extends StatelessWidget {
  Home({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) => new Scaffold(
        appBar: new AppBar(
          title: new Text("View"),
        ),
        body: new Center(
          child: new FlatButton(
              onPressed: () => launch("tel://21213123123"),
              child: new Text("Call me")),
        ),
      );
}

void main() {
  runApp(
    new MyApp(),
  );
}

Также вы можете import 'package:url_launcher/url_launcher.dart' as UrlLauncher; а затем используйте UrlLauncher.launch("tel://21213123123")

Обязательно укажите запись для него в файле pubspec.yaml в разделе зависимостей: url_launcher: ^ 1.0.2

Ответ 2

Вы должны добавить это в ваш pubspec.yaml => url_launcher: ^ 5.0.2, после чего вы нажимаете "Получить пакеты".

в своем коде вы добавляете import: import 'package: url_launcher/url_launcher.dart' в качестве UrlLauncher; Надеюсь, что это работает =)

import 'package:url_launcher/url_launcher.dart' as UrlLauncher;


    UrlLauncher.launch('tel:+${p.phone.toString()}')

        //if mail 
     UrlLauncher.launch('mailto:${p.email}'),

перейдите по ссылке https://pub.dev/packages/url_launcher и прочитайте вкладку установки и следуйте этой инструкции.

Ответ 3

Не забудьте установить пакеты через flutter pub get и перезапустить приложение.