my.startAccelerometer.
Parameters
Callback Parameters
Code Example
Basic Usage
Motion Detection
Tilt Detection for Games
Related APIs
my.offAccelerometerChange
Stop listening for changes
my.startAccelerometer
Start accelerometer
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Listen for accelerometer data changes.
my.startAccelerometer.
| Property | Type | Required | Description |
|---|---|---|---|
| listener | Function | Yes | The callback function to listen to the data change event of the accelerometer |
| Property | Type | Description |
|---|---|---|
| x | Number | Acceleration value in x-axis. Unit: m/s² |
| y | Number | Acceleration value in y-axis. Unit: m/s² |
| z | Number | Acceleration value in z-axis. Unit: m/s² |
| timestamp | Number | Timestamp. Unit: ns |
my.onAccelerometerChange((res) => {
console.log('X:', res.x);
console.log('Y:', res.y);
console.log('Z:', res.z);
});
Page({
data: {
lastShake: 0
},
onLoad() {
my.onAccelerometerChange((res) => {
const acceleration = Math.sqrt(
res.x * res.x + res.y * res.y + res.z * res.z
);
if (acceleration > 1.5) {
const now = Date.now();
if (now - this.data.lastShake > 1000) {
this.setData({ lastShake: now });
this.handleShake();
}
}
});
},
handleShake() {
my.vibrate();
console.log('Device shaken!');
}
});
Page({
onLoad() {
my.onAccelerometerChange((res) => {
// Use x/y for tilt-based controls
this.setData({
tiltX: res.x * 90, // Convert to degrees
tiltY: res.y * 90
});
});
}
});
my.startAccelerometer before using this API to begin receiving accelerometer data.