插件介绍

flutter_phone_direct_caller 是一个专为鸿蒙平台适配的Flutter插件,基于 flutter_phone_direct_caller 开发,提供直接拨打电话的功能,无需用户额外操作,适用于需要快速发起电话呼叫的应用场景,如客服系统、联系人应用、紧急呼叫功能等。

安装与配置

依赖配置

由于这是针对鸿蒙平台的自定义修改版本,需要通过Git方式引入。在项目的 pubspec.yaml 文件中添加以下依赖配置,注意将Git URL中的 gitcode.com 替换为 atomgit.com

dependencies:
  flutter_phone_direct_caller:
    git:
      url: https://atomgit.com/openharmony-sig/fluttertpc_flutter_phone_direct_caller.git
      path: ohos

安装命令

添加依赖后,执行以下命令安装插件:

flutter pub get

API使用

核心API

该插件提供了一个简洁的API用于直接拨打电话:

方法名 描述 参数 返回值 鸿蒙支持
callNumber 发起指定号码的电话呼叫 String number - 要拨打的电话号码 Future<bool?> - 表示呼叫是否成功 支持

使用示例

1. 导入包

在需要使用插件的Dart文件中导入包:

import 'package:flutter_phone_direct_caller/flutter_phone_direct_caller.dart';
2. 发起电话呼叫

使用 callNumber 方法发起电话呼叫:

// 简单使用示例
FlutterPhoneDirectCaller.callNumber('10086');

// 带返回值的使用示例
bool? result = await FlutterPhoneDirectCaller.callNumber('10086');
if (result == true) {
  print('电话呼叫成功');
} else {
  print('电话呼叫失败');
}
3. 完整示例应用

以下是一个完整的Flutter应用示例,展示如何在鸿蒙平台上使用该插件:

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

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final TextEditingController _numberCtrl = TextEditingController();

  
  void initState() {
    super.initState();
    _numberCtrl.text = "085921191121";
  }

  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Phone Direct Caller 示例'),
        ),
        body: Column(
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: TextField(
                controller: _numberCtrl,
                decoration: const InputDecoration(labelText: "电话号码"),
                keyboardType: TextInputType.number,
              ),
            ),
            ElevatedButton(
              child: const Text("拨打电话"),
              onPressed: () async {
                await FlutterPhoneDirectCaller.callNumber(_numberCtrl.text);
              },
            )
          ],
        ),
      ),
    );
  }
}

约束与限制

兼容性

该插件已在以下环境中测试通过:

  1. Flutter: 3.7.12-ohos-1.0.6; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3;
  2. Flutter: 3.22.1-ohos-1.0.1; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3;

总结

flutter_phone_direct_caller 插件为鸿蒙平台提供了简洁高效的直接拨打电话功能,通过简单的API调用即可实现电话呼叫功能,无需用户额外操作。该插件安装配置简单,使用方便,适用于各种需要电话呼叫功能的Flutter应用。

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐