패키지, 저장소 및 앱 카테고리 검색

패키지 상세v4.0.0

flutter_activity_recognition

이 플러그인은 Android 및 iOS 플랫폼에서 사용자 활동을 인식하는 데 사용됩니다.

AndroidiOS
30일 다운로드
8.1천
좋아요
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>.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트