device常见问题我要提意见
Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。
属性:
方法:
- beep: 发出蜂鸣声
- dial: 拨打电话
- getInfo: 获取设备信息
- getOAID: 获取匿名设备标识符
- getVAID: 获取开发者匿名设备标识符
- getAAID: 获取应用匿名设备标识符
- getVolume: 获取设备的系统音量
- isWakelock: 获取程序是否一直保持唤醒(屏幕常亮)状态
- setWakelock: 设置应用是否保持唤醒(屏幕常亮)状态
- setVolume: 设置设备的系统音量
- vibrate: 设备振动
对象:
- DeviceInfo: 设备信息对象
- screen: Screen模块管理设备屏幕信息
- display: Display模块管理应用可使用的显示区域信息
- networkinfo: networkinfo模块用于获取网络信息
- os: OS模块管理操作系统信息
回调方法:
- DeviceSuccessCallback: 成功回调函数
- DeviceFailCallback: 失败回调函数
- DeviceCompleteCallback: 操作完成回调函数
权限:
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"Device": {
"description": "设备信息"
}
}
}
imei
设备的国际移动设备身份码
plus.device.imei;
说明:
String 类型 只读属性
此API将废弃,HBuilderX2.0.0以后版本使用plus.device.getInfo。
调用此属性获取设备的国际移动设备身份码。 如果设备不支持则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。
平台支持:
- Android – 2.2+ (支持) : 如果应用无法获取(如未获授权)则返回空字符串。
- iOS – 4.5+ (不支持) : iOS设备不支持获取imei值,返回空字符串。
示例:
//获取设备的国际移动设备身份码
function getIMEI(){
console.log("IMEI: "+plus.device.imei);
}
imsi
设备的国际移动用户识别码
plus.device.imsi;
说明:
Array[String] 类型 只读属性
此API将废弃,HBuilderX2.0.0以后版本使用plus.device.getInfo。
字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。
平台支持:
- Android – 2.2+ (支持) : 如果设备没有插入SIM卡,则返回空数组。
- iOS – 4.5+ (不支持) : iOS设备不支持获取SIM卡信息,返回空数组。
示例:
//获取设备的国际移动用户识别码
function getIMSI(){
console.log("IMSI: " + plus.device.imsi);
}
model
设备的型号
plus.device.model;
说明:
String 类型 只读属性
调用此属性获取设备的型号信息。 如果设备不支持则返回空字符串。
示例:
//获取设备的型号
function getModel(){
console.log("Model: " + plus.device.model);
}
vendor
设备的生产厂商
plus.device.vendor;
说明:
String 类型 只读属性
调用此属性获取设备的生产厂商信息。 如果设备不支持则返回空字符串。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持)
示例:
//获取设备的生产厂商
function getVendor(){
console.log("Vendor: " + plus.device.vendor);
}
uuid
设备的唯一标识
plus.device.uuid;
说明:
String 类型 只读属性
此API将废弃,HBuilderX2.0.0以后版本使用plus.device.getInfo。
调用此属性获取设备的唯一标识号。
平台支持:
- Android – 2.2+ (支持) : 与设备的imei号一致。 注意:如果无法获取设备imei则使用设备wifi的mac地址,如果无法获取设备mac地址则随机生成设备标识号(不同App在同一台设备上获取的值一致)。
- iOS – 4.5+ (支持) :根据包名随机生成的设备标识号。注意:在设备重置后会重新生成。
示例:
//获取设备的唯一标识号
function getUUID(){
console.log("UUID: "+plus.device.uuid);
}
beep
发出蜂鸣声
void plus.device.beep(times);
说明:
调用此方法使得设备发出蜂鸣声。
参数:
- times: ( Number ) 可选 蜂鸣声重复的次数,默认发出一次蜂鸣声
返回值:
void : 无
平台支持:
- Android – 2.2+ (支持) :播放系统设置中指定的默认通知铃声
- iOS – 4.3+ (支持) :忽略times参数,播放系统的通知铃声
示例:
//发出蜂鸣声
function beep(){
plus.device.beep( 3 );
}
dial
拨打电话
void plus.device.dial(number, confirm);
说明:
调用系统程序拨打电话。
参数:
- number: ( String ) 必选 要拨打的电话号码
- confirm: ( Boolean ) 可选 是否需要用户确认后开始拨打电话 设置为true表示打开系统拨打电话界面,需用户点击拨号按钮后才开始拨打电话,false则无需确认直接拨打电话,默认值为true。
返回值:
void : 无
平台支持:
- Android – 2.2+ (支持) : 拨打电话需添加以下权限:
- “<uses-permission android:name=”android.permission.CALL_PHONE”/>”
更多权限相关说明请参考:https://ask.dcloud.net.cn/article/36982。
- iOS – 5.1+ (支持) : 忽略confirm参数,调用直接拨打电话。
示例:
//拨打电话
function dial() {
plus.device.dial("10086", false);
}
getInfo
获取设备信息
void plus.device.getInfo(options);
说明:
包括国际移动设备身份码、国际移动用户识别码、设备的唯一标识等信息。
Android平台调用此方法需要申请访问设备标识(部分设备提示为拨打电话)权限,详情参考https://ask.dcloud.net.cn/article/36075。
参数:
options参数为json类型,包含以下属性:
- success: ( DeviceSuccessCallback ) 可选 获取设备信息成功回调函数 回调函数参数event对象类型为DeviceInfo。
- fail: ( DeviceFailCallback ) 可选 获取设备信息失败回调函数
- complete: ( DeviceCompleteCallback ) 可选 获取设备信息操作完成回调函数 调用成功或失败都会触发此回调。
返回值:
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));
}
});
}
getOAID
获取匿名设备标识符
void plus.device.getOAID(options);
说明:
HBuilderX2.4.0+版本新增支持。
Android10以前获取设备标识(如IMEI、IMSI、Wi-Fi MAC地址等)涉及用户隐私且需用户授权,Android10+系统不再支持获取设备标识信息。为解决此问题移动安全联盟联合各手机厂商推出移动智能设备标识公共服务平台提供补充设备标识体系,包括匿名设备标识符(OAID)、开发者匿名设备标识符(VAID)和应用匿名设备标识符(AAID)。
匿名设备标识符(OAID)最长为64位字符串,所有应用获取的值相同,可用于个性化推荐、广告等业务。 系统首次启动后生成,用户手动重置、恢复出厂设置、设备商重置、被刷机等操作会重置此标识。
参数:
options参数为json类型,包含以下属性:
- success: ( DeviceSuccessCallback ) 可选 获取匿名设备标识成功回调函数 回调函数参数event对象类型为json,包含oaid属性保存获取的匿名设备标识符。
- fail: ( DeviceFailCallback ) 可选 获取匿名设备标识失败回调函数
- complete: ( DeviceCompleteCallback ) 可选 获取匿名设备标识操作完成回调函数 调用成功或失败都会触发此回调,成功时回调参数与DeviceSuccessCallback一致,失败时回调参数与DeviceCompleteCallback一致。
返回值:
void : 无
平台支持:
- Android – 10+ (支持) : 仅在华为、OPPO、VIVO、小米、联想等设备支持。
示例:
// 获取匿名设备标识符
function getOAID(){
plus.device.getOAID({
success:function(e){
console.log('getOAID success: '+JSON.stringify(e));
},
fail:function(e){
console.log('getOAID failed: '+JSON.stringify(e));
}
});
}
getVAID
获取开发者匿名设备标识符
void plus.device.getVAID(options);
说明:
HBuilderX2.4.0+版本新增支持。
Android10以前获取设备标识(如IMEI、IMSI、Wi-Fi MAC地址等)涉及用户隐私且需用户授权,Android10+系统不再支持获取设备标识信息。为解决此问题移动安全联盟联合各手机厂商推出移动智能设备标识公共服务平台提供补充设备标识体系,包括匿名设备标识符(OAID)、开发者匿名设备标识符(VAID)和应用匿名设备标识符(AAID)。
开发者匿名设备标识符(VAID)最长为64位字符串,同一开发者不同应用获取的值相同,可用于同一开发者不同应用之间的推荐等。 在应用安装时生成,用户恢复出厂设置、卸载所有开发商应用、设备商重置、被刷机等操作会重置此标识。
参数:
options参数为json类型,包含以下属性:
- success: ( DeviceSuccessCallback ) 可选 获取开发者匿名设备标识成功回调函数 回调函数参数event对象类型为json,包含vaid属性保存获取的开发者匿名设备标识符。
- fail: ( DeviceFailCallback ) 可选 获取开发者匿名设备标识失败回调函数
- complete: ( DeviceCompleteCallback ) 可选 获取开发者匿名设备标识操作完成回调函数 调用成功或失败都会触发此回调,成功时回调参数与DeviceSuccessCallback一致,失败时回调参数与DeviceCompleteCallback一致。
返回值:
void : 无
平台支持:
- Android – 10+ (支持) : 仅在华为、OPPO、VIVO、小米、联想等设备支持。
示例:
// 获取开发者匿名设备标识符
function getVAID(){
plus.device.getVAID({
success:function(e){
console.log('getVAID success: '+JSON.stringify(e));
},
fail:function(e){
console.log('getVAID failed: '+JSON.stringify(e));
}
});
}
getAAID
获取应用匿名设备标识符
void plus.device.getAAID(options);
说明:
HBuilderX2.4.0+版本新增支持。
Android10以前获取设备标识(如IMEI、IMSI、Wi-Fi MAC地址等)涉及用户隐私且需用户授权,Android10+系统不再支持获取设备标识信息。为解决此问题移动安全联盟联合各手机厂商推出移动智能设备标识公共服务平台提供补充设备标识体系,包括匿名设备标识符(OAID)、开发者匿名设备标识符(VAID)和应用匿名设备标识符(AAID)。
应用匿名设备标识符(AAID)最长为64位字符串,每个应用获取的值都不相同,可用于用户统计等。 在应用安装时生成,用户恢复出厂设置、卸载应用、清空应用数据、设备商重置等操作会重置此标识。
参数:
options参数为json类型,包含以下属性:
- success: ( DeviceSuccessCallback ) 可选 获取应用匿名设备标识成功回调函数 回调函数参数event对象类型为json,包含aaid属性保存获取的应用匿名设备标识符。
- fail: ( DeviceFailCallback ) 可选 获取应用匿名设备标识失败回调函数
- complete: ( DeviceCompleteCallback ) 可选 获取应用匿名设备标识操作完成回调函数 调用成功或失败都会触发此回调,成功时回调参数与DeviceSuccessCallback一致,失败时回调参数与DeviceCompleteCallback一致。
返回值:
void : 无
平台支持:
- Android – 10+ (支持) : 仅在华为、OPPO、VIVO、小米、联想等设备支持。
示例:
// 获取应用匿名设备标识符
function getAAID(){
plus.device.getAAID({
success:function(e){
console.log('getAAID success: '+JSON.stringify(e));
},
fail:function(e){
console.log('getAAID failed: '+JSON.stringify(e));
}
});
}
getVolume
获取设备的系统音量
Number plus.device.getVolume();
说明:
系统音量值范围为0到1,0表示静音,1表示最大音量值。
参数:
无
返回值:
Number : 系统的音量值
平台支持:
- Android – ALL (支持) : Android平台获取的是系统多媒体音量。
- iOS – ALL (支持)
isWakelock
获取程序是否一直保持唤醒(屏幕常亮)状态
Boolean plus.device.isWakelock();
说明:
调用此方法获取程序是否一致保持唤醒状态。
参数:
无
返回值:
Boolean : 返回ture表示程序已设置为一直保持唤醒状态,返回false表示程序未设置为一直保持唤醒状态。
setWakelock
设置应用是否保持唤醒(屏幕常亮)状态
plus.device.setWakelock(lock);
说明:
调用此方法设置应用是否一直保持唤醒状态,保持唤醒状态将会导致程序屏幕常亮、系统不会自动锁屏,从而导致消耗更多的电量。若未设置一直保持唤醒状态则会根据系统设置自动锁定屏幕。
参数:
- lock: ( Boolean ) 必选 是否设置程序一直保持唤醒状态可取值true或false,true表示设定程序一直保持唤醒状态,false表示关闭程序一直保持唤醒状态。程序退出后将恢复默认状态,默认为关闭程序保持唤醒状态。
返回值:
void : 无
示例:
// 设置应用保持唤醒(屏幕常亮)状态
function setWakelock(){
plus.device.setWakelock(true);
}
setVolume
设置设备的系统音量
plus.device.setVolume(volume);
说明:
调用此方法调节设备的系统音量。
参数:
- volume: ( Number ) 必选 设备的系统音量值取值范围为0到1,0表示静音,1表示最大音量值。设置设备音量后对所有程序生效,退出程序系统仍然保持最后设定的音量值。
返回值:
void : 无
平台支持:
- iOS – 4.3+ (支持)
- Android – 2.2+ (支持) :设置音量后对所有项的音量生效,如通话音量、系统音量、铃声音量、音乐音量、提示声音音量。
示例:
// 设备的系统音量值
function setVolume(){
plus.device.setVolume(0.5);
}
vibrate
设备振动
plus.device.vibrate(milliseconds);
说明:
调用此方法使得设备振动。
参数:
- milliseconds: ( Number ) 必选 设备振动持续的时间数值类型,单位为ms,默认为500ms。
返回值:
void : 无
平台支持:
- Android – 2.2+ (支持) : 支持振动指定的时长,需添加以下权限: “<uses-permission android:name=”android.permission.VIBRATE”/>” 更多权限相关说明请参考:https://ask.dcloud.net.cn/article/36982。
- iOS – 4.3+ (支持) : 不支持milliseconds参数,使用系统默认振动时长,仅iPhone设备支持,iPad和iTouch设备不支持,调用此接口无任何效果。 注意:如果在系统设置中关闭振动功能则无法调用设备振动(设置->声音->振动)。
示例:
// 设备振动
function vibrate(){
plus.device.vibrate(2000);
}
DeviceInfo
设备信息对象
interface plus.device.DeviceInfo {
attribute String imei;
attribute String imsi;
attribute String uuid;
}
属性:
- imei: (String 类型 )设备的国际移动设备身份码 如果设备不支持或无法获取(如用户未授权)则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。
平台支持
- Android – ALL (支持) :
- iOS – ALL (不支持) : 无法获取设备身份码,返回空字符串。
- imsi: (Array[String] 类型 )设备的国际移动用户识别码 字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。
平台支持
- Android – ALL (支持) : 如果无法获取国际移动用户标识(如用户未授权)则返回空数组。
- iOS – ALL (不支持) : 无法获取设备移动用户识别码,返回空数组。
- uuid: (String 类型 )设备标识 设备的唯一标识号。
平台支持
- Android – ALL (支持) : 与设备的imei号一致。 注意:如果无法获取设备imei则使用设备wifi的mac地址,如果无法获取设备mac地址则随机生成设备标识号(不同App在同一台设备上获取的值一致)。
- iOS – ALL (支持) : 根据包名随机生成的设备标识号。 注意:设备重置(刷机)后会重新生成。
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: 设备屏幕水平方向的密度
- dpiY: 设备屏幕垂直方向的密度
- height: 屏幕高度物理分辨率
- width: 屏幕宽度物理分辨率
- resolutionHeight: 屏幕高度逻辑分辨率
- resolutionWidth: 屏幕宽度逻辑分辨率
- scale: 逻辑分辨率与物理分辨率的缩放比例
方法:
- setBrightness: 设置屏幕亮度
- getBrightness: 获取屏幕亮度值
- getCurrentSize: 获取当前屏幕信息
- lockOrientation: 锁定屏幕方向
- unlockOrientation: 解除锁定屏幕方向
dpiX
设备屏幕水平方向的密度
plus.screen.dpiX;
说明:
Number 类型 只读属性
设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持)
示例:
// 获取水平方向密度
function getDPI(){
plus.nativeUI.alert("DPI X: " + plus.screen.dpiX);
}
dpiY
设备屏幕垂直方向的密度
plus.screen.dpiY;
说明:
Number 类型 只读属性
设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持)
示例:
// 获取垂直方向密度
function getDPI(){
plus.nativeUI.alert("DPI Y: " + plus.screen.dpiY);
}
height
屏幕高度物理分辨率
// 获取物理高度
plus.screen.height;
说明:
Number 类型 只读属性
单位为px,设备屏幕的实际物理分辨率。 物理分辨率跟屏幕密度相关,通常建议使用逻辑分辨率。
示例:
function getHeight(){
plus.nativeUI.alert("Height: " + plus.screen.height);
}
width
屏幕宽度物理分辨率
plus.screen.width;
说明:
Number 类型 只读属性
单位为px,设备屏幕的实际物理分辨率。 物理分辨率跟屏幕密度相关,通常建议使用逻辑分辨率。
示例:
// 获取物理宽度
function getWidth(){
plus.nativeUI.alert("Width: " + plus.screen.width);
}
resolutionHeight
屏幕高度逻辑分辨率
plus.screen.resolutionHeight;
说明:
Number 类型 只读属性
单位为px, 逻辑分辨率为物理分辨率除以缩放比例scale取整。 取整操作可能出现精度丢失,对精度要求高时可使用物理分辨率和scal计算。
示例:
// 获取逻辑高度
function getResolutionHeight(){
plus.nativeUI.alert("Resolution Height: " + plus.screen.resolutionHeight);
}
resolutionWidth
屏幕宽度逻辑分辨率
plus.screen.resolutionWidth;
说明:
Number 类型 只读属性
单位为px,逻辑分辨率为物理分辨率除以缩放比例scale取整。 取整操作可能出现精度丢失,对精度要求高时可使用物理分辨率和scal计算。
示例:
// 获取逻辑宽度
function getResolutionWidth(){
plus.nativeUI.alert("Resolution Width: " + plus.screen.resolutionWidth);
}
scale
逻辑分辨率与物理分辨率的缩放比例
plus.screen.scale;
说明:
Number 类型 只读属性
由于设备屏幕密度不同,在html页面中使用的像素值都是使用逻辑分辨率。 而逻辑分辨率与设备的实际物理分辨率存在一定的比例关系,实际物理分辨率=逻辑分辨率*比例。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持)
示例:
// 获取逻辑分辨率与物理分辨率的缩放比例
function getScale(){
plus.nativeUI.alert("Scale: " + plus.screen.scale);
}
setBrightness
设置屏幕亮度
plus.screen.setBrightness(brightness);
说明:
调用此方法调节设备屏幕亮度。
参数:
- brightness: ( Number ) 必选 屏幕的亮度值 取值范围为0到1,0表示最低亮度值,1表示最高亮度值。 HBuilderX3.2.11+版本新增支持取值-1,仅Android平台支持,表示设置应用的屏幕亮度与系统屏幕亮度保持一致。
返回值:
void : 无
平台支持:
- Android – 5.0+ (支持) : 应用有独立的亮度,设置应用的屏幕亮度不会修改系统屏幕亮度,仅对当前应用在前台运行时有效,退出应用后屏幕亮度切换回系统屏幕亮度。 如果要保证应用的屏幕亮度与系统屏幕亮度一致,可以设置值为 -1。
- iOS – 9.0+ (支持) : 应用没有独立的亮度,设置时会修改系统屏幕亮度。 不支持设置值为 -1。
示例:
// 设置屏幕亮度
function setBrightness(){
plus.screen.setBrightness( 0.5 );
}
getBrightness
获取屏幕亮度值
Number plus.screen.getBrightness();
说明:
屏幕亮度值范围为0到1,0表示最低亮度值,1表示最高亮度值。
参数:
无
返回值:
Number : 返回程序的屏幕亮度值
示例:
// 获取屏幕亮度
function getBrightness(){
plus.nativeUI.alert("Brightness: " + plus.screen.getBrightness());
}
getCurrentSize
获取当前屏幕信息
JSON plus.screen.getCurrentSize();
说明:
当前屏幕的宽、高信息,返回数据包括以下属性:
- “height” – 屏幕物理分辨率高度,单位为px
- “width” – 屏幕物理分辨率宽度,单位为px
- “resolutionHeight” – 屏幕逻辑分辨率高度,单位为px
- “resolutionWidth” – 屏幕逻辑分辨率宽度,单位为px
注意:HBuilderX2.6.9+版本支持。
参数:
无
返回值:
JSON : 屏幕的宽、高信息
示例:
// 获取当前屏幕信息
function getScreenInfo(){
var info = plus.screen.getCurrentSize();
console.log('ScreenInfo: "+JSON.stringify(info));
}
lockOrientation
锁定屏幕方向
void plus.screen.lockOrientation(orientation);
说明:
锁定屏幕方向后屏幕只能按锁定的屏幕方向显示,关闭当前页面后仍然有效。 可再次调用此方法修改屏幕锁定方向或调用unlockOrientation()方法恢复到应用的默认值。
参数:
- orientation: ( String ) 必选 要锁定的屏幕方向值 锁定屏幕方向可取以下值: “portrait-primary”: 竖屏正方向; “portrait-secondary”: 竖屏反方向,屏幕正方向按顺时针旋转180°; “landscape-primary”: 横屏正方向,屏幕正方向按顺时针旋转90°; “landscape-secondary”: 横屏方向,屏幕正方向按顺时针旋转270°; “portrait”: 竖屏正方向或反方向,根据设备重力感应器自动调整; “landscape”: 横屏正方向或反方向,根据设备重力感应器自动调整;
返回值:
void : 无
示例:
// 锁定屏幕方向
function lockOrientation(){
plus.screen.lockOrientation("landscape-primary");
}
unlockOrientation
解除锁定屏幕方向
void plus.screen.unlockOrientation();
说明:
解除锁定屏幕方向后将恢复应用默认的屏幕显示方向(通常为应用打包发布时设置的方向)。
参数:
无
返回值:
void : 无
示例:
// 解除锁定屏幕方向
function unlockOrientation(){
plus.screen.unlockOrientation();
}
display
Display模块管理应用可使用的显示区域信息
interface plus.display {
attribute Number resolutionHeight;
attribute Number resolutionWidth;
}
属性:
- resolutionHeight: 应用可使用的屏幕高度逻辑分辨率
- resolutionWidth: 应用可使用的屏幕宽度逻辑分辨率
resolutionHeight
应用可使用的屏幕高度逻辑分辨率
plus.display.resolutionHeight;
说明:
Number 类型 只读属性
设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持)
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();
function Boolean isSetProxy();
}
常量:
- CONNECTION_UNKNOW: 网络连接状态未知
- CONNECTION_NONE: 未连接网络
- CONNECTION_ETHERNET: 有线网络
- CONNECTION_WIFI: 无线WIFI网络
- CONNECTION_CELL2G: 蜂窝移动2G网络
- CONNECTION_CELL3G: 蜂窝移动3G网络
- CONNECTION_CELL4G: 蜂窝移动4G网络
- CONNECTION_CELL5G: 蜂窝移动5G网络
方法:
- getCurrentType: 获取设备当前连接的网络类型
- isSetProxy: 获取当前网络是否设置代理
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。
平台支持
- Android – 2.2+ (支持)
- iOS – 7.0+ (支持)
CONNECTION_CELL4G
蜂窝移动4G网络
plus.networkinfo.CONNECTION_CELL4G;
说明:
Number 类型
网络状态常量,当前设备连接到蜂窝移动4G网络,固定值为6。
平台支持
- Android – 2.2+ (支持)
- iOS – 7.0+ (支持)
CONNECTION_CELL5G
蜂窝移动5G网络
plus.networkinfo.CONNECTION_CELL5G;
说明:
Number 类型
网络状态常量,当前设备连接到蜂窝移动5G网络,固定值为7。
平台支持
- Android – 2.2+ (支持)
- iOS – 14.0+ (支持)
getCurrentType
获取设备当前连接的网络类型
Number plus.networkinfo.getCurrentType();
说明:
获取当前设备连接的网络类型,返回值为网络类型常量,可取值CONNECTION_*常量。
参数:
无
返回值:
Number : 设备当前网络类型
平台支持:
- Android – 2.3+ (支持)
- iOS – 7.0+ (支持)
示例:
// 获取设备当前连接的网络类型
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()]);
}
isSetProxy
获取当前网络是否设置代理
Boolean plus.networkinfo.isSetProxy();
说明:
注意:HBuilderX3.0.0及以上版本支持。
参数:
无
返回值:
Boolean : 如果设置了代理则返回true,否则返回false。
平台支持:
- Android – 4.4+ (支持) :仅支持判断WiFi情况下是否设置代理,无法判断移动网络设置代理的情况
- iOS – 9.0+ (支持)
os
OS模块管理操作系统信息
interface plus.os {
attribute String language;
attribute String name;
attribute String vendor;
attribute String version;
}
属性:
language
系统语言信息
plus.os.language;
说明:
String 类型 只读属性
获取当前操作系统设置的系统语言,字符串类型数据,格式为”语言-地区”,如”zh-CN”表示语言为简体中文、地区为中国大陆。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持) : iOS系统支持跟多的语言选择,会包含更丰富的语言信息,如”zh-Hans-CN“,其中”zh-Hans”表示语言为简体中文,对应繁体中文为”zh-Hant”,最后的”CN“表示地区为中国大陆。
示例:
// 获取系统语言信息
function getLanguage(){
console.log("OS language: " + plus.os.language);
}
name
系统的名称
plus.os.name;
说明:
String 类型 只读属性
获取当前操作系统的名称,字符串类型数据。
平台支持:
- Android – 2.2+ (支持) :返回字符串“Android”
- iOS – 4.3+ (支持) :返回字符串“iOS”
示例:
// 获取系统的名称
function plusReady(){
console.log("OS name: " + plus.os.name);
}
vendor
系统的供应商信息
plus.os.vendor;
说明:
String 类型 只读属性
获取当前操作系统的供应商名称,字符串类型数据。
平台支持:
- Android – 2.2+ (支持) :返回字符串“Google”
- iOS – 4.3+ (支持) :返回字符串“Apple”
示例:
// 获取系统的供应商信息
function getVendor(){
console.log("OS name: " + plus.os.vendor );
}
version
系统版本信息
plus.os.version;
说明:
String 类型 只读属性
获取当前操作系统的版本信息,字符串类型数据。
平台支持:
- Android – 2.2+ (支持)
- iOS – 4.3+ (支持)
示例:
// 获取系统版本信息
function getVersion(){
console.log("OS version: " + plus.os.version);
}
DeviceSuccessCallback
成功回调函数
void onSuccess(Object event){
}
说明:
不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。
参数:
- event: ( Object ) 必选 回调参数 回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。
返回值:
void : 无
DeviceFailCallback
失败回调函数
function void onFail(Exception error){
// Handle error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息
}
参数:
- error: ( Exception ) 必选 回调参数,错误信息 可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。
返回值:
void : 无
DeviceCompleteCallback
操作完成回调函数
function void onComplete(Object event){
}
说明:
调用成功或失败都会触发此回调。
参数:
- event: ( Object ) 可选 回调参数 调用成功时回调参数与DeviceSuccessCallback一致,调用失败时回调参数与DeviceFailCallback一致。
返回值:
void : 无