Я могу сделать телефонный звонок, вызвав приложение системного телефона и ПОДКЛЮЧИТЬ ВЫЗОВ с помощью приложения Flutter.
Вот что вы сделали:
- pubspe c .yaml добавить пакет:
intent:
main.dart:
import 'package:flutter/material.dart';
import 'package:intent/intent.dart' as android_intent;
import 'package:intent/action.dart' as android_action;
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return (Scaffold(
body: Center(
child: RaisedButton(
onPressed: _launchURL,
child: Text('Dial a number'),
)
),
));
}
}
_launchURL() async {
// Replace 12345678 with your tel. no.
android_intent.Intent()
..setAction(android_action.Action.ACTION_CALL)
..setData(Uri(scheme: "tel", path: "12345678"))
..startActivity().catchError((e) => print(e));
}
Затем, после запуска этого приложения в PhoneA и нажатия кнопки «Набрать номер», откроется приложение System Phone и позвонит на тел. , № 12345678.
Через несколько секунд вызов будет установлен, и я хочу отправить тоны DTMF. Я попытался воспроизвести тоны DTMF, используя другой пакет флаттера: flutter_dtmf, и тоны воспроизводятся (я слышу это), но принимающая сторона не получает их. (Я думаю, причина в том, что этот пакет воспроизводит только тоны DTMF, но не передает тоны DTMF через приложение System Phone)
Чтобы обойти это, я использую другой мобильный телефон PhoneB, откройте приложение System Phone и нажмите на цифровую кнопку, поднесите динамик PhoneB к микрофону PhoneA, и принимающая сторона сможет получать тоны DTMF.
Итак, как мне этого добиться без использования PhoneB?