An open API service indexing awesome lists of open source software.

https://github.com/ko-devhong/react-native-sensor-step


https://github.com/ko-devhong/react-native-sensor-step

react react-native react-native-manager react-native-sensor react-native-sensor-step react-native-sensors react-native-step sensor step

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# react-native-sensor-step

## Getting started

`$ npm install react-native-sensor-step --save`

### Automatic installation (Android only)

- React Native 0.60+

### React Native <= 0.59

`$ react-native link react-native-sensor-step`

---

## SensorType

| Type | Description |
| :------- | -----------------------------------------: |
| COUNTER | [TYPE_STEP_COUNTER][android-sensors-type] |
| DETECTOR | [TYPE_STEP_DETECTOR][android-sensors-type] |

---

| Method | Description |
| :---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| requestSensorPermission | Note: To allow an app to use this sensor on a device running Android 10 (API level 29) or higher, you must declare [ACTIVITY_RECOGNITION][android-sensor-permission] privileges. |
| checkSensorPermission | [ACTIVITY_RECOGNITION][android-sensor-permission] Permission check. |
| start | Number of steps Event Listener, start |
| stop | Number of steps Event Listener, stop |

---

## Usage

```javascript
import React, { useEffect, useState } from "react";
import { DeviceEventEmitter, Text, View } from "react-native";
import RNSensorStep, { SensorType } from "react-native-sensor-step";

const App = () => {
const [stepCount, setStepCount] = useState(0);

useEffect(() => {
// you select sensor type COUNTER or DETECTOR
// you set delay millisecond
RNSensorStep.start(1000, SensorType.COUNTER);
DeviceEventEmitter.addListener("StepCounter", async (data) => {
setStepCount(data.steps);
});
return () => {
RNSensorStep.stop();
};
}, []);

return (

{`stepCount : ${stepCount}`}

);
};

const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
alignItems: "center",
},
});

export default App;
```

[android-sensors-type]: https://developer.android.com/guide/topics/sensors/sensors_motion?hl=ko
[android-sensor-permission]: https://developer.android.com/guide/topics/location/transitions?hl=ko