Skip to main content

Calories

This feature retrieves the calories count for the current day. Use the object RookEvents class, which includes the getTodayCalories function to obtain the current calories burned count.

info

To use this method, ensure a user ID is added and the steps permission is granted.

Permissions

Apple HealthHealth Connect
active_calories_permissionsactive_calories_health_connect
resting_calories_permissionstotal_calories_health_connect

Example

The bellow code shows how to use this functionality.


import { RookConfig } from 'capacitor-rook-sdk';
import { RookEvents } from 'capacitor-rook-sdk';
import { useEffect, useState } from 'react';
import { useHistory } from 'react-router-dom';


const Home: React.FC = () => {

const history = useHistory();

const [isOpen, setIsOpen] = useState(false);
const [title, setTitle] = useState(String);
const [message, setMessage] = useState(String);
const [userId, setuserId] = useState(String);

useEffect(() => {
RookConfig.getUserId()
.then((idResult) => {
setuserId(idResult.userId);
})
}, []);

const handleGetCurrentCalories = async (): Promise<void> => {
try {
const result = await RookEvents.getTodayCalories();
setTitle('Calories');
setMessage(`basal count: ${result.basal}, active count ${result.active}`);
setIsOpen(true);
} catch (error) {
setTitle('Calories');
setMessage(`Error while fetching calories ${error}`);
setIsOpen(true);
}
};

return (
<IonPage>
<IonHeader>
<IonToolbar>
<IonButtons slot="start">
<IonBackButton defaultHref="/" />
</IonButtons>
<IonTitle>Home user:{userId}</IonTitle>
</IonToolbar>
</IonHeader>
<IonContent fullscreen>
<IonList>

<IonItem>
<IonButton onClick={handleGetCurrentCalories}>Get current calories burned</IonButton>
</IonItem>

</IonList>

<IonAlert
isOpen={isOpen}
header={title}
message={message}
buttons={['Action']}
onDidDismiss={ () => setIsOpen(false)}
></IonAlert>
</IonContent>
</IonPage>
);
};

export default Home;