搜尋套件、儲存庫與 APP 分類

套件詳情v4.0.0

flutter_activity_recognition

此外掛程式用於在 Android 和 iOS 平台上識別使用者活動。

AndroidiOS
近 30 天下載
6690
喜歡數
54
Pub 分數
150

安裝套件

flutter pub add flutter_activity_recognition

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

flutter_activity_recognition 套件讓開發者能夠偵測並回應使用者活動,例如在 Android 與 iOS 裝置上的步行、跑步、騎車或駕駛。它利用原生平台 API 提供即時活動辨識,非常適合用於健身追蹤、導航應用與情境感知服務。此外,該套件輕巧且能順暢整合至 Flutter 應用程式中,支援背景活動監控,並提供事件驅動的更新,以有效節省資源。

適用情境

  • 健身與健康追蹤
  • 上下文感知的移動應用
  • 智慧導航系統
  • 基於活動的分析
  • 安全應用的驅動程式檢測

主要特色

  • 即時活動檢測
  • 跨平台支援(Android 與 iOS)
  • 背景活動監控
  • 事件驅動型 API
  • 輕量且高效

適合對象

  • 開發健身應用的開發者
  • 需要使用者上下文感知的應用程式
  • 需要活動洞察的移動應用程式
  • 涉及基於運動觸發的項目

使用建議

  • 兩個平台都需要適當的權限
  • 持續監控可能導致電池用量增加
  • 受限於支援的裝置硬體
  • 可能需要在實體裝置上進行測試
  • 持續活動追蹤的隱私考量

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

This plugin is used to recognize user activity on Android and iOS platforms. To implement this plugin, Android used ActivityRecognitionClient and iOS used CMMotionActivityManager.

pub package

Features

  • Can request activity recognition permission.
  • Can subscribe to ActivityStream to listen activity in real time.

Getting started

To use this plugin, add flutter_activity_recognition as a dependency in your pubspec.yaml file. For example:

dependencies:
  flutter_activity_recognition: ^4.0.0

After adding the flutter_activity_recognition plugin to the flutter project, we need to specify the platform-specific permissions to use for this plugin to work properly.

:baby_chick: Android

Open the AndroidManifest.xml file and add the following permissions between the <manifest> and <application> tags.

<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
:baby_chick: iOS

Open the ios/Runner/Info.plist file and add the following permission inside the <dict> tag.

<key>NSMotionUsageDescription</key>
<string>Used to recognize user activity information.</string>

How to use

  1. Checks whether activity recognition permission is granted.
Future<bool> _checkAndRequestPermission() async {
  ActivityPermission permission =
      await FlutterActivityRecognition.instance.checkPermission();
  if (permission == ActivityPermission.PERMANENTLY_DENIED) {
    // permission has been permanently denied.
    return false;
  } else if (permission == ActivityPermission.DENIED) {
    permission =
        await FlutterActivityRecognition.instance.requestPermission();
    if (permission != ActivityPermission.GRANTED) {
      // permission is denied.
      return false;
    }
  }

  return true;
} 
  1. To listen activity in real time, use the activityStream getter.
StreamSubscription<Activity>? _activitySubscription;

Future<void> _subscribeActivityStream() async {
  if (await _checkAndRequestPermission()) {
    _activitySubscription = FlutterActivityRecognition.instance.activityStream
        .handleError(_onError)
        .listen(_onActivity);
  }
}

void _onActivity(Activity activity) {
  print('activity detected >> ${activity.toJson()}');
}

void _onError(dynamic error) {
  print('error >> $error');
}

Background Mode

If you want to use this plugin in the background, use the flutter_foreground_task plugin.

More Documentation

Go here to learn about the models provided by this plugin.

Go here to migrate to the new version.

Support

If you find any bugs or issues while using the plugin, please register an issues on GitHub. You can also contact us at <hwj930513@naver.com>.

所屬分類

原始碼儲存庫

使用此套件的專案