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 组织,也欢迎参与共建。

相关推荐
less_121381 小时前
HarmonyOS WPS Open SDK 快速入门:HAR 集成到 sendRequest 打开文档
华为·harmonyos·wps
resh_people1 小时前
开源鸿蒙平台 KMP_CMP 三方库「kotlinx.html」适配全流程
开源·html·harmonyos
李游Leo1 小时前
HarmonyOS 7 + ArkTS + NAPI 学习笔记:Native 模块桥接、CMake 构建与跨语言调用实践【鸿蒙心迹】
笔记·学习·harmonyos
事圆则缓2 小时前
Flutter 状态管理框架对比(一):先看地图,再选工具
前端·javascript·flutter
李游Leo2 小时前
《HarmonyOS 7 ArkGraphics 3D 空间设计开发实战》04:材质、纹理与灯光如何决定3D场景质感【鸿蒙心迹】
3d·harmonyos
李游Leo2 小时前
《HarmonyOS 7 ArkGraphics 3D 空间设计开发实战》07:复杂3D场景的帧率、内存与资源性能优化【鸿蒙心迹】
android·3d·性能优化·harmonyos
行者-全栈开发3 小时前
华为云码道 CodeArts 实测:让 AI 独立开发一个鸿蒙原生专注计时应用「刻循」
harmonyos·arkts·鸿蒙·ai 编程·华为云码道·codearts 代码智能体·专注计时
resh_people3 小时前
开源鸿蒙平台 KMP/CMP 三方库「kotlinx-datetime」适配全流程
华为·开源·harmonyos
传奇开心果编程16 小时前
【Flutter入门练中学】第8课:动画与过渡
android·学习·flutter·ui·ios