首页 > 解决方案 > 是否可以在 Flutter 中进行后台服务?

问题描述

我正在构建一个每五秒接收一次 GPS 信号的应用程序,并且我知道这些后台服务应用程序会自行关闭。

  1. 如果后台服务在 Android 操作系统上不可用,它如何运行像 Uber 这样的服务?

  2. 我听说程序员可以注册一个白名单,即使应用程序驻留在后台也不会自动关闭。如何注册白名单?

标签: androidflutterbackground

解决方案


我现在正在以这种方式进行后台服务:

/// The entry of dart background service
/// NOTE: this method will be invoked by native (Android/iOS)
/// avoid Tree Shaking
@pragma('vm:entry-point')
void playerBackgroundService() {
  CommonUtils.initialApp(ConfigType.PRO).whenComplete(() => {
    loadRepository()
  });
}

void loadRepository() {
  WidgetsFlutterBinding.ensureInitialized();
  GlobalConfig.init(ConfigType.PRO);
  netRepository = Repository();
  runBackgroundService(
    imageLoadInterceptor: BackgroundInterceptors.loadImageInterceptor,
  );
}

跳这个对你的帮助。


推荐阅读