web-dev-qa-db-fra.com

Passer un appel téléphonique à partir d'une application Flutter

J'essaie de passer un appel téléphonique depuis mon application Flutter. Avec le code suivant:

UrlLauncher.launch('tel: xxxxxxxx');

J'ai trouvé cette fonction sur le dépôt github flutter: https://github.com/flutter/flutter/issues/4856

Mais ça ne marche pas pour moi. Cette fonction est-elle toujours dans Flutter et dans quel package? Ou existe-t-il une meilleure option pour passer un appel téléphonique depuis mon application?

19
Lukas Kirner

J'ai essayé sur Android/iOS cette launch("tel://214324234") et cela fonctionne bien. Vous devez installer le package rl_launcher et l'importer

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(),
  );
}

Vous pouvez également l'importer import 'package:url_launcher/url_launcher.Dart' as UrlLauncher; Puis utiliser UrlLauncher.launch("tel://21213123123")

N'oubliez pas d'inclure une entrée pour cela dans le fichier pubspec.yaml, dans la section des dépendances: url_launcher: ^ 1.0.2

38
German Saprykin

Vous devez l'ajouter dans votre pubspec.yaml => url_launcher: ^ 5.0.2 puis vous cliquez sur Obtenir les packages.

dans votre code, vous ajoutez l'import: import 'package: url_launcher/url_launcher.Dart' comme UrlLauncher; J'espère que cela fonctionne =)

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


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

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

N'oubliez pas d'installer les packages via flutter pub get et relancez l'application.

1
Jithin Jude