Flutter 鸿蒙化实战:flutter_background_service 适配 OpenHarmony,后台服务

Flutter 鸿蒙化实战:flutter_background_service 适配 OpenHarmony

前言

随着鸿蒙生态的快速发展,越来越多的 Flutter 应用需要适配 OpenHarmony 平台。但生态早期,大量常用三方库只有 Android / iOS 实现,鸿蒙侧只能自己造轮子。

为了解决这个问题,CPF-Flutter 社区 对一批高频使用的 Flutter 三方库做了 OpenHarmony 平台适配,统一托管在 GitCode 的 CPF-Flutter 组织 下,全部通过 TAG 版本隔离、配套门禁编译验证,开箱即用。

本篇是系列文章之一,主角是 flutter_background_service ------ 后台服务插件。

flutter_background_service 是什么

flutter_background_service(原库 5.1.1)用于在应用内运行后台任务:

  1. 配置/启动 :configure / start 配置并启动后台服务;
  2. 通信 :sendData 收发数据、isServiceRunning 判断运行状态;
  3. 通知 :setNotificationInfo 后台通知、setForegroundMode 前台模式;
  4. 自启动 :setAutoStartOnBootMode 开机自启。

适合做定位、下载、定时任务等后台场景。

适配情况

Flutter 框架版本 TAG 名称 分支名
3.7 5.1.1-ohos-1.0.0 master
3.22 5.1.1-ohos-1.0.0 master
3.27 5.1.1-ohos-1.0.0 master
3.35 5.1.1-ohos-1.0.0 master

快速接入

在 pubspec.yaml 中添加 git 依赖:

yaml 复制代码
dependencies:
  flutter_background_service:
    git:
      url: https://gitcode.com/CPF-Flutter/fluttertpc_flutter_background_service.git
      # 按你的 Flutter 框架版本,从上方映射表选择对应 TAG
      ref: 5.1.1-ohos-1.0.0

执行:

bash 复制代码
flutter pub get

使用示例

dart 复制代码
import 'package:flutter_background_service/flutter_background_service.dart';

// 配置并启动后台服务
await FlutterBackgroundService().configure(
  onStart: onStart,
);
await FlutterBackgroundService().start();

// 判断运行状态
final running = await FlutterBackgroundService().isServiceRunning();

API 支持一览

API 说明
configure / start 配置并启动
sendData 数据通信
isServiceRunning 运行状态
setNotificationInfo 后台通知
setForegroundMode 前台模式
setAutoStartOnBootMode 开机自启

TIP 本库鸿蒙版与上游 API 对齐,接入方式与 iOS / Android 一致。

仓库地址

系列预告

截至目前,CPF-Flutter 社区已完成 250+ 个 Flutter 三方库的 OpenHarmony 平台适配,完整的适配清单(含每个库的版本映射表)见:

本系列后续会陆续挑选高频库展开讲解,比如日历事件(add_2_calendar)、设备标识(device_identity)、HTTP 代理(http_proxy)等。

如果你的 Flutter 应用正在计划适配鸿蒙,欢迎关注 CPF-Flutter 组织,也欢迎参与共建。

相关推荐
程序猿追1 小时前
一个工程面向手机与二合一:HarmonyOS 6 部署配置和本地手记
华为·智能手机·harmonyos
恋猫de小郭1 小时前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
行者-全栈开发12 小时前
【鸿蒙心迹】深色模式适配全链路——从配置到自定义(HarmonyOS 7.x)
华为·harmonyos
好的佩奇17 小时前
Dart 之扩展方法
android·flutter·dart
好的佩奇19 小时前
蓝牙之经典蓝牙
android·flutter·蓝牙
传奇开心果编程21 小时前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
行者-全栈开发1 天前
【鸿蒙心迹】国际化 i18n 与多语言资源管理实战(HarmonyOS 7.x)
ui·华为·重构·国际化·harmonyos·多语言
OH_TPC1 天前
HarmonyOS APP开发---"云客服"远程视频客服App,需要用到这个库
harmonyos
逆回2 天前
给鸿蒙手机做一只 3D 宠物:五个把我卡住的问题
harmonyos
钉先生贾2 天前
性能、体积与稳定性:怎样写出可信的适配结论
华为·harmonyos