HarmonyOS API:设备管理

joytrian
发布于 2023-4-10 17:48
浏览
0收藏

版本:v3.1 Beta

@ohos.geoLocationManager (位置服务)

更新时间: 2023-02-17 09:19


位置服务提供GNSS定位、网络定位、地理编码、逆地理编码、国家码和地理围栏等基本功能。


说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

申请权限

应用在使用系统能力前,需要检查是否已经获取用户授权访问设备位置信息。如未获得授权,可以向用户申请需要的位置权限,申请方式请参考下文。

系统提供的定位权限有:

  • ohos.permission.LOCATION
  • ohos.permission.APPROXIMATELY_LOCATION
  • ohos.permission.LOCATION_IN_BACKGROUND

访问设备的位置信息,必须申请权限,并且获得用户授权。

API9之前的版本,申请ohos.permission.LOCATION即可。

API9及之后的版本,需要申请ohos.permission.APPROXIMATELY_LOCATION或者同时申请ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION;无法单独申请ohos.permission.LOCATION。

使用的API版本

申请位置权限

申请结果

位置的精确度

小于9

ohos.permission.LOCATION

成功

获取到精准位置,精准度在米级别。

大于等于9

ohos.permission.LOCATION

失败

无法获取位置。

大于等于9

ohos.permission.APPROXIMATELY_LOCATION

成功

获取到模糊位置,精确度为5公里。

大于等于9

ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION

成功

获取到精准位置,精准度在米级别。

如果应用在后台运行时也需要访问设备位置,除需要将应用声明为允许后台运行外,还必须申请ohos.permission.LOCATION_IN_BACKGROUND权限,这样应用在切入后台之后,系统可以继续上报位置信息。

开发者可以在应用配置文件中声明所需要的权限,具体可参考​​授权申请指导​​。

导入模块

import geoLocationManager from '@ohos.geoLocationManager';

LocationRequestPriority

位置请求中位置信息优先级设置。

系统能力:SystemCapability.Location.Location.Core

名称

说明

UNSET

0x200

表示未设置优先级。

ACCURACY

0x201

表示精度优先。

LOW_POWER

0x202

表示低功耗优先。

FIRST_FIX

0x203

表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。

LocationRequestScenario

位置请求中定位场景设置。

系统能力:SystemCapability.Location.Location.Core

名称

说明

UNSET

0x300

表示未设置场景信息。

NAVIGATION

0x301

表示导航场景。

TRAJECTORY_TRACKING

0x302

表示运动轨迹记录场景。

CAR_HAILING

0x303

表示打车场景。

DAILY_LIFE_SERVICE

0x304

表示日常服务使用场景。

NO_POWER

0x305

表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。

LocationRequest

位置信息请求类型。

系统能力:SystemCapability.Location.Location.Core

名称

类型

可读

可写

说明

priority

​LocationRequestPriority​

表示优先级信息。

scenario

​LocationRequestScenario​

表示场景信息。

timeInterval

number

表示上报位置信息的时间间隔。

distanceInterval

number

表示上报位置信息的距离间隔。

maxAccuracy

number

表示精度信息。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。

CurrentLocationRequest

当前位置信息请求类型。

系统能力:SystemCapability.Location.Location.Core

名称

类型

可读

可写

说明

priority

​LocationRequestPriority​

表示优先级信息。

scenario

​LocationRequestScenario​

表示场景信息。

maxAccuracy

number

表示精度信息,单位是米。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。

timeoutMs

number

表示超时时间,单位是毫秒,最小为1000毫秒。

SatelliteStatusInfo

卫星状态信息。

系统能力:SystemCapability.Location.Location.Gnss

名称

类型

可读

可写

说明

satellitesNumber

number

表示卫星个数。

satelliteIds

Array<number>

表示每个卫星的ID,数组类型。

carrierToNoiseDensitys

Array<number>

表示载波噪声功率谱密度比,即cn0。

altitudes

Array<number>

表示高程信息。

azimuths

Array<number>

表示方位角。

carrierFrequencies

Array<number>

表示载波频率。

Location

位置信息类型。

系统能力:SystemCapability.Location.Location.Core

名称

类型

可读

可写

说明

latitude

number

表示纬度信息,正值表示北纬,负值表示南纬。

longitude

number

表示经度信息,正值表示东经,负值表是西经。

altitude

number

表示高度信息,单位米。

accuracy

number

表示精度信息,单位米。

speed

number

表示速度信息,单位米每秒。

timeStamp

number

表示位置时间戳,UTC格式。

direction

number

表示航向信息。

timeSinceBoot

number

表示位置时间戳,开机时间格式。

additions

Array<string>

附加信息。

additionSize

number

附加信息数量。

isFromMock

Boolean

表示位置信息是否来自于位置模拟功能。

@ohos.power (系统电源管理)

更新时间: 2023-02-17 09:19


该模块主要提供重启、关机、查询屏幕状态等接口。


说明

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import power from '@ohos.power';

power.isActive9+

isActive(): boolean

检测当前设备是否处于活动状态。

系统能力: SystemCapability.PowerManager.PowerManager.Core

错误码:

以下错误码的详细介绍请参见​​系统电源管理错误码​​。

错误码ID

错误信息

4900101

连接服务失败。

示例:

try {
    var isActive = power.isActive();
    console.info('power is active: ' + isActive);
} catch(err) {
    console.error('check active status failed, err: ' + err);
}

power.getPowerMode9+

getPowerMode(): DevicePowerMode

获取当前设备的电源模式。

系统能力: SystemCapability.PowerManager.PowerManager.Core

返回值:

类型

说明

​DevicePowerMode​

电源模式。

错误码:

以下错误码的详细介绍请参见​​系统电源管理错误码​​。

错误码ID

错误信息

4900101

连接服务失败。

示例:

try {
    var mode = power.getPowerMode();
    console.info('power mode: ' + mode);
} catch(err) {
    console.error('get power mode failed, err: ' + err);
}

power.rebootDevice

rebootDevice(reason: string): void

重启设备。

需要权限: ohos.permission.REBOOT

系统能力: SystemCapability.PowerManager.PowerManager.Core

参数:

参数名

类型

必填

说明

reason

string

重启原因。

示例:

power.rebootDevice('reboot_test');

power.isScreenOn(deprecated)

isScreenOn(callback: AsyncCallback<boolean>): void

说明

从API version 9开始不再维护,建议使用​​power.isActive​​替代。

检测当前设备的亮灭屏状态。使用callback异步回调。

系统能力: SystemCapability.PowerManager.PowerManager.Core

参数:

参数名

类型

必填

说明

callback

AsyncCallback<boolean>

回调函数。当检测成功,err为undefined,data为获取到的亮灭屏状态,返回true表示亮屏,返回false表示灭屏;否则为错误对象。

示例:

power.isScreenOn((err, data) => {
    if (typeof err === 'undefined') {
        console.info('screen on status is ' + data);
    } else {
        console.error('check screen status failed, err: ' + err);
    }
})

power.isScreenOn(deprecated)

isScreenOn(): Promise<boolean>

说明

从API version 9开始不再维护,建议使用​​power.isActive​​替代。

检测当前设备的亮灭屏状态。使用Promise异步回调。

系统能力: SystemCapability.PowerManager.PowerManager.Core

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示亮屏;返回false表示灭屏。

示例:

power.isScreenOn()
.then(data => {
    console.info('screen on status is ' + data);
})
.catch(err => {
    console.error('check screen status failed, err: ' + err);
})

DevicePowerMode9+

表示电源模式的枚举值。

系统能力: SystemCapability.PowerManager.PowerManager.Core

名称

说明

MODE_NORMAL

600

表示标准模式,默认值。

MODE_POWER_SAVE

601

表示省电模式。

MODE_PERFORMANCE

602

表示性能模式。

MODE_EXTREME_POWER_SAVE

603

表示超级省电模式。


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-power-0000001477981465-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001477981465__导入模块​

分类
已于2023-4-10 17:48:54修改
收藏
回复
举报
回复