HarmonyOS 如何获取设备朝向?

Stage模式, 做渲染的时候 想获取屏幕朝向。比如 用户是横向还是竖向拿手机,当前surface角度是多少?从哪个API获取?

阅读 614
1 个回答

获取设备旋转角度参考如下demo:

/**
  * 注册方向传感器,注意只能放到Ability中注册
  */
 private doRegister() {
   try {
     sensor.on(sensor.SensorId.ORIENTATION, (data: sensor.OrientationResponse) => {
       log.info('[x, y, z]: [' + Math.round(data.beta) + ', ' + Math.round(data.gamma) + ',' + Math.round(data.alpha) + ']');
     }, {
       interval: 100000000
     });
   } catch (error) {
     let e: BusinessError = error as BusinessError;
     log.error(`Failed to invoke once. Code: ${e.code}, message: ${e.message}`);
   }
 }

 /**
  * 反注册方向传感器
  */
 private doUnRegister() {
   sensor.off(sensor.SensorId.ORIENTATION);
 }

传感器sensor具体可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/\_sensor-V5

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进