harmony 鸿蒙Stationary Development

  • 2023-06-24
  • 浏览 (280)

Stationary Development

When to Use

An application can call the Stationary module to obtain the device status, for example, whether the device is absolutely or relatively still.

For details about the APIs, see Stationary.

Device Status Type Parameters

Name Description
still Absolutely still.
relativeStill Relatively still.

Parameters for Subscribing to Device Status events

Name Value Description
ENTER 1 Event indicating entering device status.
EXIT 2 Event indicating exiting device status.
ENTER_EXIT 3 Event indicating entering and exiting device status.

Returned Device Status Parameters

Name Value Description
ENTER 1 Entering device status.
EXIT 2 Exiting device status.

Available APIs

Module Name Description
ohos.stationary on(activity: ActivityType, event: ActivityEvent, reportLatencyNs: number, callback: Callback<ActivityResponse>): void Subscribes to the device status. This API uses an asynchronous callback to return the result.
ohos.stationary once(activity: ActivityType, callback: Callback<ActivityResponse>): void Obtains the device status. This API uses an asynchronous callback to return the result.
ohos.stationary off(activity: ActivityType, event: ActivityEvent, callback?: Callback<ActivityResponse>): void Unsubscribes from the device status.

Constraints

The device must support the acceleration sensor.

How to Develop

  1. Subscribe to the event indicating entering the absolute still state, and the event is reported every 1 second.
   import stationary from '@ohos.stationary';
   import { BusinessError } from '@ohos.base';
   let reportLatencyNs = 1000000000;
   try {
      stationary.on('still', stationary.ActivityEvent.ENTER, reportLatencyNs, (data) => {
         console.log('data='+ JSON.stringify(data));
      })
   } catch (error) {
      let message = (error as BusinessError).message;
      console.error('stationary on failed:' + message);
   }
  1. Obtain the event indicating entering the absolute still state.
   import stationary from '@ohos.stationary';
   import { BusinessError } from '@ohos.base';
   try {
      stationary.once('still', (data) => {
         console.log('data='+ JSON.stringify(data));
      })
   } catch (error) {
      let message = (error as BusinessError).message;
      console.error('stationary once failed:' + message);
   }
  1. Unsubscribe from the event indicating entering the absolute still state.
   import stationary from '@ohos.stationary';
   import { BusinessError } from '@ohos.base';
   try {
      stationary.off('still', stationary.ActivityEvent.ENTER, (data) => {
         console.log('data='+ JSON.stringify(data));
      })
   } catch (error) {
      let message = (error as BusinessError).message;
      console.error('stationary off failed:' + message);
   }

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Device Management

harmony 鸿蒙Peripheral Management Development

harmony 鸿蒙Input Device Development

harmony 鸿蒙Location Service Development

harmony 鸿蒙Mouse Pointer Development

harmony 鸿蒙Sample Server Development

harmony 鸿蒙Sample Server Overview

harmony 鸿蒙Sensor Development

harmony 鸿蒙Sensor Overview

harmony 鸿蒙USB Service Development

0  赞