device常见问题我要提意见

Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。

属性:

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)


{
// ...
"permissions":{
	// ...
	"Device": {
		"description": "设备信息"
	}
}
}
			

imei

设备的国际移动设备身份码


plus.device.imei;
				

说明:

String 类型 只读属性

此API将废弃,HBuilderX2.0.0以后版本使用plus.device.getInfo
调用此属性获取设备的国际移动设备身份码。 如果设备不支持则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。

平台支持:

示例:


//获取设备的国际移动设备身份码
function getIMEI(){
	console.log("IMEI: "+plus.device.imei);
}
				

uni-app使用plus注意事项

imsi

设备的国际移动用户识别码


plus.device.imsi;
				

说明:

Array[ String ] 类型 只读属性

此API将废弃,HBuilderX2.0.0以后版本使用plus.device.getInfo
字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。

平台支持:

示例:


//获取设备的国际移动用户识别码
function getIMSI(){
	console.log("IMSI: " + plus.device.imsi);
}
				

uni-app使用plus注意事项

model

设备的型号


plus.device.model;
				

说明:

String 类型 只读属性

调用此属性获取设备的型号信息。 如果设备不支持则返回空字符串。

示例:


//获取设备的型号
function getModel(){
	console.log("Model: " + plus.device.model);
}
				

uni-app使用plus注意事项

vendor

设备的生产厂商


plus.device.vendor;
				

说明:

String 类型 只读属性

调用此属性获取设备的生产厂商信息。 如果设备不支持则返回空字符串。

平台支持:

示例:


//获取设备的生产厂商
function getVendor(){
	console.log("Vendor: " + plus.device.vendor);
}
				

uni-app使用plus注意事项

uuid

设备的唯一标识


plus.device.uuid;
				

说明:

String 类型 只读属性

此API将废弃,HBuilderX2.0.0以后版本使用plus.device.getInfo
调用此属性获取设备的唯一标识号。

平台支持:

示例:


//获取设备的唯一标识号
function getUUID(){
	console.log("UUID: "+plus.device.uuid);
}
				

uni-app使用plus注意事项

beep

发出蜂鸣声


void plus.device.beep(times);
				

说明:

调用此方法使得设备发出蜂鸣声。

参数:

返回值:

void : 无

平台支持:

示例:


//发出蜂鸣声
function beep(){
	plus.device.beep( 3 );
}
    			

uni-app使用plus注意事项

dial

拨打电话


void plus.device.dial(number, confirm);
				

说明:

调用系统程序拨打电话。

参数:

返回值:

void : 无

平台支持:

示例:


//拨打电话
function dial() {
	plus.device.dial("10086", false);
}
    			

uni-app使用plus注意事项

getInfo

获取设备信息


void plus.device.getInfo(options);
				

说明:

包括国际移动设备身份码、国际移动用户识别码、设备的唯一标识等信息。
使用此方法可避免Android平台在应用启动时弹出访问设备信息、拨打电话等权限提示框的问题,详情参考https://ask.dcloud.net.cn/article/36075

参数:

options参数为json类型,包含以下属性:

返回值:

void : 无

示例:


// 获取设备信息
function getDeviceInfo(){
	plus.device.getInfo({
		success:function(e){
			console.log('getDeviceInfo success: '+JSON.stringify(e));
		},
		fail:function(e){
			console.log('getDeviceInfo failed: '+JSON.stringify(e));
		}
	});
}
				

uni-app使用plus注意事项

getVolume

获取设备的系统音量


Number plus.device.getVolume();
				

说明:

系统音量值范围为0到1,0表示静音,1表示最大音量值。

参数:

返回值:

Number : 系统的音量值

平台支持:

isWakelock

获取程序是否一直保持唤醒(屏幕常亮)状态


Boolean plus.device.isWakelock();
				

说明:

调用此方法获取程序是否一致保持唤醒状态。

参数:

返回值:

Boolean : 返回ture表示程序已设置为一直保持唤醒状态,返回false表示程序未设置为一直保持唤醒状态。

setWakelock

设置应用是否保持唤醒(屏幕常亮)状态


plus.device.setWakelock(lock);
				

说明:

调用此方法设置应用是否一直保持唤醒状态,保持唤醒状态将会导致程序屏幕常亮、系统不会自动锁屏,从而导致消耗更多的电量。若未设置一直保持唤醒状态则会根据系统设置自动锁定屏幕。

参数:

返回值:

void : 无

示例:


// 设置应用保持唤醒(屏幕常亮)状态
function setWakelock(){
	plus.device.setWakelock(true);
}
    			

uni-app使用plus注意事项

setVolume

设置设备的系统音量


plus.device.setVolume(volume);
				

说明:

调用此方法调节设备的系统音量。

参数:

返回值:

void : 无

平台支持:

示例:


// 设备的系统音量值
function setVolume(){
	plus.device.setVolume(0.5);
}
				

uni-app使用plus注意事项

vibrate

设备振动


plus.device.vibrate(milliseconds);
				

说明:

调用此方法使得设备振动。

参数:

返回值:

void : 无

平台支持:

示例:


// 设备振动
function vibrate(){
	plus.device.vibrate(2000);
}
    			

uni-app使用plus注意事项

DeviceInfo

设备信息对象


interface plus.device.DeviceInfo {
	attribute String imei;
	attribute String imsi;
	attribute String uuid;
}
				

属性:

screen

Screen模块管理设备屏幕信息


interface plus.screen {
	attribute String dpiX;
	attribute String dpiY;
	attribute Number height;
	attribute Number width;
	attribute Number resolutionHeight;
	attribute Number resolutionWidth;
	attribute Number scale;
	
	function void setBrightness(brightness);
	function Number getBrightness();
	function void lockOrientation(orientation);
	function void unlockOrientation();
}
				

属性:

方法:

dpiX

设备屏幕水平方向的密度


plus.screen.dpiX;
						

说明:

Number 类型 只读属性

设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。

平台支持:

示例:


// 获取水平方向密度
function getDPI(){
	plus.nativeUI.alert("DPI X: " + plus.screen.dpiX);
}
						

uni-app使用plus注意事项

dpiY

设备屏幕垂直方向的密度


plus.screen.dpiY;
						

说明:

Number 类型 只读属性

设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。

平台支持:

示例:


// 获取垂直方向密度
function getDPI(){
	plus.nativeUI.alert("DPI Y: " + plus.screen.dpiY);
}
						

uni-app使用plus注意事项

height

屏幕高度物理分辨率


// 获取物理高度
plus.screen.height;
						

说明:

Number 类型 只读属性

单位为px,设备屏幕的实际物理分辨率。 物理分辨率跟屏幕密度相关,通常建议使用逻辑分辨率。

示例:


function getHeight(){
	plus.nativeUI.alert("Height: " + plus.screen.height);
}
    					

uni-app使用plus注意事项

width

屏幕宽度物理分辨率


plus.screen.width;
						

说明:

Number 类型 只读属性

单位为px,设备屏幕的实际物理分辨率。 物理分辨率跟屏幕密度相关,通常建议使用逻辑分辨率。

示例:


// 获取物理宽度
function getWidth(){
	plus.nativeUI.alert("Width: " + plus.screen.width);
}
    					

uni-app使用plus注意事项

resolutionHeight

屏幕高度逻辑分辨率


plus.screen.resolutionHeight;
						

说明:

Number 类型 只读属性

单位为px, 逻辑分辨率为物理分辨率除以缩放比例scale取整。 取整操作可能出现精度丢失,对精度要求高时可使用物理分辨率和scal计算。

示例:


// 获取逻辑高度
function getResolutionHeight(){
	plus.nativeUI.alert("Resolution Height: " + plus.screen.resolutionHeight);
}
    					

uni-app使用plus注意事项

resolutionWidth

屏幕宽度逻辑分辨率


plus.screen.resolutionWidth;
						

说明:

Number 类型 只读属性

单位为px,逻辑分辨率为物理分辨率除以缩放比例scale取整。 取整操作可能出现精度丢失,对精度要求高时可使用物理分辨率和scal计算。

示例:


// 获取逻辑宽度
function getResolutionWidth(){
	plus.nativeUI.alert("Resolution Width: " + plus.screen.resolutionWidth);
}
    					

uni-app使用plus注意事项

scale

逻辑分辨率与物理分辨率的缩放比例


plus.screen.scale;
						

说明:

Number 类型 只读属性

由于设备屏幕密度不同,在html页面中使用的像素值都是使用逻辑分辨率。 而逻辑分辨率与设备的实际物理分辨率存在一定的比例关系,实际物理分辨率=逻辑分辨率*比例。

平台支持:

示例:


// 获取逻辑分辨率与物理分辨率的缩放比例
function getScale(){
	plus.nativeUI.alert("Scale: " + plus.screen.scale);
}
						

uni-app使用plus注意事项

setBrightness

设置屏幕亮度


plus.screen.setBrightness(brightness);
						

说明:

调用此方法调节设备屏幕亮度。

参数:

返回值:

void : 无

示例:


// 设置屏幕亮度
function setBrightness(){
	plus.screen.setBrightness( 0.5 );
}
						

uni-app使用plus注意事项

getBrightness

获取屏幕亮度值


Number plus.screen.getBrightness();
						

说明:

屏幕亮度值范围为0到1,0表示最低亮度值,1表示最高亮度值。

参数:

返回值:

Number : 返回程序的屏幕亮度值

示例:


// 获取屏幕亮度
function getBrightness(){
	plus.nativeUI.alert("Brightness: " + plus.screen.getBrightness());
}
						

uni-app使用plus注意事项

lockOrientation

锁定屏幕方向


void plus.screen.lockOrientation(orientation);
						

说明:

锁定屏幕方向后屏幕只能按锁定的屏幕方向显示,关闭当前页面后仍然有效。 可再次调用此方法修改屏幕锁定方向或调用unlockOrientation()方法恢复到应用的默认值。

参数:

返回值:

void : 无

示例:


// 锁定屏幕方向
function lockOrientation(){
	plus.screen.lockOrientation("landscape-primary");
}
						

uni-app使用plus注意事项

unlockOrientation

解除锁定屏幕方向


void plus.screen.unlockOrientation();
						

说明:

解除锁定屏幕方向后将恢复应用默认的屏幕显示方向(通常为应用打包发布时设置的方向)。

参数:

返回值:

void : 无

示例:


// 解除锁定屏幕方向
function unlockOrientation(){
	plus.screen.unlockOrientation();
}
						

uni-app使用plus注意事项

display

Display模块管理应用可使用的显示区域信息


interface plus.display {
	attribute Number resolutionHeight;
	attribute Number resolutionWidth;
}
				

属性:

resolutionHeight

应用可使用的屏幕高度逻辑分辨率


plus.display.resolutionHeight;
						

说明:

Number 类型 只读属性

设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。

平台支持:

resolutionWidth

应用可使用的屏幕宽度逻辑分辨率


plus.display.resolutionWidth;
						

说明:

Number 类型 只读属性

设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。

networkinfo

networkinfo模块用于获取网络信息


interface plus.networkinfo {
	const attribute Number CONNECTION_UNKNOW = 0;
	const attribute Number CONNECTION_NONE = 1;
	const attribute Number CONNECTION_ETHERNET = 2;
	const attribute Number CONNECTION_WIFI = 3;
	const attribute Number CONNECTION_CELL2G = 4;
	const attribute Number CONNECTION_CELL3G = 5;
	const attribute Number CONNECTION_CELL4G = 6;
	
	function Number getCurrentType();
}
				

常量:

方法:

CONNECTION_UNKNOW

网络连接状态未知


plus.networkinfo.CONNECTION_UNKNOW;
						

说明:

Number 类型

网络状态常量,表示当前设备网络状态未知,固定值为0。

平台支持

CONNECTION_NONE

未连接网络


plus.networkinfo.CONNECTION_NONE;
						

说明:

Number 类型

网络状态常量,当前设备网络未连接网络,固定值为1。

平台支持

CONNECTION_ETHERNET

有线网络


plus.networkinfo.CONNECTION_ETHERNET;
						

说明:

Number 类型

网络状态常量,当前设备连接到有线网络,固定值为2。

平台支持

CONNECTION_WIFI

无线WIFI网络


plus.networkinfo.CONNECTION_WIFI;
						

说明:

Number 类型

网络状态常量,当前设备连接到无线WIFI网络,固定值为3。

平台支持

CONNECTION_CELL2G

蜂窝移动2G网络


plus.networkinfo.CONNECTION_CELL2G;
						

说明:

Number 类型

网络状态常量,当前设备连接到蜂窝移动2G网络,固定值为4。

平台支持

CONNECTION_CELL3G

蜂窝移动3G网络


plus.networkinfo.CONNECTION_CELL3G;
						

说明:

Number 类型

网络状态常量,当前设备连接到蜂窝移动3G网络,固定值为5。

平台支持

CONNECTION_CELL4G

蜂窝移动4G网络


plus.networkinfo.CONNECTION_CELL4G;
						

说明:

Number 类型

网络状态常量,当前设备连接到蜂窝移动4G网络,固定值为6。

平台支持

getCurrentType

获取设备当前连接的网络类型


Number plus.networkinfo.getCurrentType();
						

说明:

获取当前设备连接的网络类型,返回值为网络类型常量,可取值CONNECTION_*常量。

参数:

返回值:

Number : 设备当前网络类型

平台支持:

示例:


// 获取设备当前连接的网络类型
function getNetworkType(){
	var types = {}; 
	types[plus.networkinfo.CONNECTION_UNKNOW] = "Unknown connection"; 
	types[plus.networkinfo.CONNECTION_NONE] = "None connection"; 
	types[plus.networkinfo.CONNECTION_ETHERNET] = "Ethernet connection"; 
	types[plus.networkinfo.CONNECTION_WIFI] = "WiFi connection"; 
	types[plus.networkinfo.CONNECTION_CELL2G] = "Cellular 2G connection"; 
	types[plus.networkinfo.CONNECTION_CELL3G] = "Cellular 3G connection"; 
	types[plus.networkinfo.CONNECTION_CELL4G] = "Cellular 4G connection"; 

	console.log("Network: " + types[plus.networkinfo.getCurrentType()]);
}
						

uni-app使用plus注意事项

os

OS模块管理操作系统信息


interface plus.os {
	attribute String language;
	attribute String name;
	attribute String vendor;
	attribute String version;
}
				

属性:

language

系统语言信息


plus.os.language;
						

说明:

String 类型 只读属性

获取当前操作系统设置的系统语言,字符串类型数据。

平台支持:

示例:


// 获取系统语言信息
function getLanguage(){
	console.log("OS language: " + plus.os.language);
}
						

uni-app使用plus注意事项

name

系统的名称


plus.os.name;
						

说明:

String 类型 只读属性

获取当前操作系统的名称,字符串类型数据。

平台支持:

示例:


// 获取系统的名称
function plusReady(){
	console.log("OS name: " + plus.os.name);
}
						

uni-app使用plus注意事项

vendor

系统的供应商信息


plus.os.vendor;
						

说明:

String 类型 只读属性

获取当前操作系统的供应商名称,字符串类型数据。

平台支持:

示例:


// 获取系统的供应商信息
function getVendor(){
	console.log("OS name: " + plus.os.vendor );
}
						

uni-app使用plus注意事项

version

系统版本信息


plus.os.version;
						

说明:

String 类型 只读属性

获取当前操作系统的版本信息,字符串类型数据。

平台支持:

示例:


// 获取系统版本信息
function getVersion(){
	console.log("OS version: " + plus.os.version);
}
						

uni-app使用plus注意事项

DeviceSuccessCallback

成功回调函数


void onSuccess(JSON event){
}
				

说明:

不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。

参数:

返回值:

void : 无

DeviceFailCallback

失败回调函数


function void onFail(Exception error){
	// Handle error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}
				

参数:

返回值:

void : 无

DeviceCompleteCallback

操作完成回调函数


function void onComplete(JSON event){
}
				

说明:

调用成功或失败都会触发此回调。

参数:

返回值:

void : 无