文档总结,只选取部分重点内容信息,完整的内容信息需要自行去官网开发文档进行查看
一、官网开发文档
二、判断该api是否可以使用,常用的两种方式:
(1)相同系统下:
方式一: 使用系统提供的canIUse进行判断
if (canIUse("SystemCapability.ArkUI.ArkUI.Full")) {
console.log("该设备支持SystemCapability.ArkUI.ArkUI.Full");
} else {
console.log("该设备不支持SystemCapability.ArkUI.ArkUI.Full");
}
方式二:使用import的方式,通过判断导入的模块是否为undefined的结果
import geolocationManager from '@ohos.geoLocationManager';
if (geolocationManager) {
geolocationManager.getCurrentLocation((location) => {
console.log('current location: ' + JSON.stringify(location));
});
} else {
console.log('该设备不支持位置信息');
}
方式三:通过Native api
#include <stdio.h>
#include <stdlib.h>
#include "syscap_ndk.h"
char syscap[] = "SystemCapability.ArkUI.ArkUI.Full";
bool result = canIUse(syscap);
if (result) {
printf("SysCap: %s is supported!\n", syscap);
} else {
printf("SysCap: %s is not supported!\n", syscap);
}
(2)相同系统下的不同设备
在相同的系统下,不同的设备适配的状况可能不一致
import userAuth from '@ohos.userIAM.userAuth';
const authenticator = userAuth.getAuthenticator();
const result = authenticator.checkAbility('FACE_ONLY', 'S1');
if (result == authenticator.CheckAvailabilityResult.AUTH_NOT_SUPPORT) {
console.log('该设备不支持人脸识别');
}
//强行调用不支持的 API 会返回错误信息,但不会出现语法错误。
authenticator.execute('FACE_ONLY', 'S1', (err, result) => {
if (err) {
console.log(err.message);
return;
}
})
三、系统能力列表
在我们创建项目的时候,我们可以看到Device type那里有四种类型可选择,这是我们所开发的设备类型