uniapp可以调用哪些硬件

1. 什么是uniapp

Uni-app是一款可兼容多个平台的开发框架,开发者使用它可以在各种平台(包括iOS、Android、H5等)上开发移动应用。它基于vue.js框架,可实现一次编写,多端发布。

Uni-app框架的特点:

一次开发,多端部署。

可直接运行于微信小程序、H5、APP原生容器,节省了开发者针对多端发布的前期繁琐配置和开发成本。

基于Vue.js精髓,开发者编写的代码可重复使用,提高代码的可维护性。

支持自定义扩展,开发者可自定义自己所需的功能和插件。

2. uniapp可以调用哪些硬件

Uni-app通过封装了设备相关的API来实现访问手机硬件。以下是uniapp能够调用的硬件设备列表:

2.1 手机摄像头

Uni-app提供了uni.chooseImage以及uni.chooseVideo等API,可以调用手机的摄像头和相册,实现对图片、视频的选择和上传操作。

uni.chooseImage({    

count: 1, //默认9

sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有

sourceType: ['album', 'camera'], //可以指定来源是相册还是相机,默认二者都有

success: function (res) {

//上传图片接口

var tempFilePaths = res.tempFilePaths;

}

});

2.2 手机通信录、位置信息

Uni-app提供了uni.chooseContact和uni.getLocation等API,可以实现对手机通信录和位置信息的读取匹配。

uni.chooseContact({    

success: function (res) {

console.log('选择联系人的编号:' + res.contactIndex);

console.log('选择的联系人信息:' + JSON.stringify(res));

}

});

2.3 手机蓝牙、NFC

Uni-app提供了uni.startBluetoothDevicesDiscovery和uni.startHCE等API,可以实现手机蓝牙和NFC的交互。

if (uni.openBluetoothAdapter) {    

uni.openBluetoothAdapter({

success (res) {

uni.startBluetoothDevicesDiscovery({

allowDuplicatesKey: false, //是否允许重复上报同一设备,默认值:false

success: function (res) {

console.log('开始搜索:' + JSON.stringify(res));

}

});

}

})

} else {

uni.showModal({

title: '提示',

content: '若想使用蓝牙功能,请升级微信版本'

})

}

2.4 手机震动、声音

Uni-app提供了uni.vibrateShort和uni.playVoice等API,可以实现手机震动和声音的播放。

uni.vibrateShort({    

success: function(){

console.log("震动成功!");

}

});

2.5 手机传感器

Uni-app提供了uni.onAccelerometerChange等API,可以访问手机加速度传感器等硬件。

uni.onAccelerometerChange(function(res) {    

console.log("x:" + res.x);

console.log("y:" + res.y);

console.log("z:" + res.z);

});

3. 总结

以上是uniapp可以调用的硬件列表,由于uni-app封装了手机硬件相关的API,因此开发者在使用过程中不需要过多地考虑兼容问题,只需要简单调用API即可完成对硬件的访问,十分方便。