H5+ 常用API(拨打电话,设备震动,屏幕方向,屏幕亮度,设备信息...等)
生活随笔
收集整理的這篇文章主要介紹了
H5+ 常用API(拨打电话,设备震动,屏幕方向,屏幕亮度,设备信息...等)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
寫(xiě)在前面
H5+ 所有功能都只能在 plusReady 事件加載完成后調(diào)用
mui.plusReady(function() { // 擴(kuò)展API加載完成事件var self = plus.webview.currentWebview();mui.alert(self);});獲取設(shè)備信息
mui.alert("設(shè)備的國(guó)際移動(dòng)設(shè)備身份碼 " + plus.device.imei);mui.alert("設(shè)備的國(guó)際移動(dòng)用戶識(shí)別碼 " + plus.device.imsi);mui.alert("設(shè)備的型號(hào) " + plus.device.model);mui.alert("設(shè)備的唯一標(biāo)識(shí) " + plus.device.uuid);addEventListener 添加事件監(jiān)聽(tīng)函數(shù)
void document.addEventListener( event, callback, capture );參數(shù):event: ( DOMString ) 必選 要添加監(jiān)聽(tīng)的事件類(lèi)型,可取下面面列出的所有事件常量callback: ( EventTrigCallback ) 必選 擴(kuò)展API加載完畢觸發(fā)的回調(diào)函數(shù)capture: ( Boolean ) 可選 事件流捕獲順序,可忽略事件常量"plusready": 擴(kuò)展API加載完成事件"pause": 運(yùn)行環(huán)境從前臺(tái)切換到后臺(tái)事件"resume": 運(yùn)行環(huán)境從后臺(tái)切換到前臺(tái)事件"netchange": 設(shè)備網(wǎng)絡(luò)狀態(tài)變化事件"newintent": 新意圖事件"plusscrollbottom": 窗口滾動(dòng)到底部事件"error": 頁(yè)面加載錯(cuò)誤事件mui.plusReady(function(){document.addEventListener('pause',function(){mui.toast('app 在后端運(yùn)行');},false)document.addEventListener('resume',function(){mui.toast('app 在前端端運(yùn)行');,false)});// 原生dom事件// 1、利用dom元素的 onclick="" 屬性//HTML代碼 <input type="button" id="btn" value="test" onclick="test();"></input>//js代碼 function test(){alert(1);// 2、獲取dom對(duì)象,從寫(xiě)dom元素的 onclick 方法//HTML代碼 <input type="button" id="btn" value="test"></input>//js代碼 // document.addEventListener('plusready', function(){ // var btn = document.getElementById('btn'); // btn.onclick = function(){alert(1);} // });// 3、a 元素的href屬性//HTML代碼 <a href="javascript:test();">test</a>//js代碼 function test(){alert(1);}屏幕亮度
// 獲取屏幕亮度 0 - 1之間的數(shù)值plus.screen.getBrightness();// 設(shè)置屏幕亮度plus.screen.setBrightness( 0.5 );保持屏幕喚醒
// plus.device.setWakelock( lock );// 參數(shù):// lock: ( Boolean ) 必選 是否設(shè)置程序一直保持喚醒狀態(tài)// 可取值true或false,true表示設(shè)定程序一直保持喚醒狀態(tài),false表示關(guān)閉程序一直保持喚醒狀態(tài)。程序退出后將恢復(fù)默認(rèn)狀態(tài),默認(rèn)為關(guān)閉程序保持喚醒狀態(tài)。 // plus.device.setWakelock(true);// isWakelock 獲取程序是否一直保持喚醒(屏幕常亮)狀態(tài) // if(plus.device.isWakelock()){ // mui.toast('屏幕一直保持喚醒'); // }else{ // mui.toast('屏幕一定時(shí)間不操作會(huì)鎖屏哦'); // }屏幕方向
// 鎖定屏幕方向 // void plus.screen.lockOrientation("landscape-primary");//參數(shù) // orientation: ( String ) 必選 要鎖定的屏幕方向值 // 鎖定屏幕方向可取以下值: // "portrait-primary": 豎屏正方向; // "portrait-secondary": 豎屏反方向,屏幕正方向按順時(shí)針旋轉(zhuǎn)180°; // "landscape-primary": 橫屏正方向,屏幕正方向按順時(shí)針旋轉(zhuǎn)90°; // "landscape-secondary": 橫屏方向,屏幕正方向按順時(shí)針旋轉(zhuǎn)270°; // "portrait": 豎屏正方向或反方向,根據(jù)設(shè)備重力感應(yīng)器自動(dòng)調(diào)整; // "landscape": 橫屏正方向或反方向,根據(jù)設(shè)備重力感應(yīng)器自動(dòng)調(diào)整;// 解除鎖定屏幕方向 // void plus.screen.unlockOrientation();OS 底層系統(tǒng)信息:
// mui.alert("系統(tǒng)語(yǔ)言信息 " + plus.os.language); // mui.alert("系統(tǒng)版本信息 " + plus.os.version); // mui.alert("系統(tǒng)的名稱(chēng) " + plus.os.version); // mui.alert("系統(tǒng)的供應(yīng)商信息 " + plus.os.vendor);Screen模塊管理設(shè)備屏幕信息:
// 1. resolutionHeight: 設(shè)備屏幕高度分辨率// 設(shè)備屏幕區(qū)域包括系統(tǒng)狀態(tài)欄顯示區(qū)域和應(yīng)用顯示區(qū)域,screen獲取的是設(shè)備屏幕總區(qū)域的邏輯分辨率,單位為px。 如果需要獲取實(shí)際分辨率則需要乘以比例值scale。 // mui.alert("Screen height: " + (plus.screen.resolutionHeight * plus.screen.scale) + "px" );// 2. resolutionWidth: 設(shè)備屏幕寬度分辨率// 設(shè)備屏幕區(qū)域包括系統(tǒng)狀態(tài)欄顯示區(qū)域和應(yīng)用顯示區(qū)域,screen獲取的是設(shè)備屏幕總區(qū)域的分辨率,單位為px。 如果需要獲取實(shí)際分辨率則需要乘以比例值scale。 // mui.alert( "Screen width: " + (plus.screen.resolutionWidth * plus.screen.scale) + "px" );// 3. scale: 邏輯分辨率與實(shí)際分辨率的比例 // mui.alert("邏輯分辨率與實(shí)際分辨率的比例 "+ plus.screen.scale);// Display模塊管理應(yīng)用可使用的顯示區(qū)域信息:// 應(yīng)用可使用的屏幕高度邏輯分辨率 plus.display.resolutionHeight;// 應(yīng)用可使用的屏幕寬度邏輯分辨率 plus.display.resolutionWidth;撥打電話
// plus.device.dial(number, true);// 參數(shù)一(String)——必選 ,要撥打的電話號(hào)碼 參數(shù)二(Boolean )——可選,是否需要用戶確認(rèn)后開(kāi)始撥打電話// 設(shè)置為true表示打開(kāi)系統(tǒng)撥打電話界面,需用戶點(diǎn)擊撥號(hào)按鈕后才開(kāi)始撥打電話,false則無(wú)需確認(rèn)直接撥打電話,默認(rèn)值為true。// 返回值:// void : 無(wú)// 平臺(tái)支持: Android - 2.2+ (支持),iOS - 5.1+ (支持): 忽略confirm參數(shù),調(diào)用直接撥打電話。 // plus.device.dial('10086', false);設(shè)備震動(dòng)
// plus.device.vibrate( milliseconds );// 參數(shù):// milliseconds: ( Number ) 必選 設(shè)備振動(dòng)持續(xù)的時(shí)間// 數(shù)值類(lèi)型,單位為ms,默認(rèn)為500ms。// plus.device.vibrate(600);Device模塊用于獲取網(wǎng)絡(luò)信息
// 常量:// CONNECTION_UNKNOW: 網(wǎng)絡(luò)狀態(tài)常量,表示當(dāng)前設(shè)備網(wǎng)絡(luò)狀態(tài)未知,固定值為0。// CONNECTION_NONE: 網(wǎng)絡(luò)狀態(tài)常量,當(dāng)前設(shè)備網(wǎng)絡(luò)未連接網(wǎng)絡(luò),固定值為1。// CONNECTION_ETHERNET: 網(wǎng)絡(luò)狀態(tài)常量,當(dāng)前設(shè)備連接到有線網(wǎng)絡(luò),固定值為2。// CONNECTION_WIFI: 網(wǎng)絡(luò)狀態(tài)常量,當(dāng)前設(shè)備連接到無(wú)線WIFI網(wǎng)絡(luò),固定值為3。// CONNECTION_CELL2G: 網(wǎng)絡(luò)狀態(tài)常量,當(dāng)前設(shè)備連接到蜂窩移動(dòng)2G網(wǎng)絡(luò),固定值為4。// CONNECTION_CELL3G: 網(wǎng)絡(luò)狀態(tài)常量,當(dāng)前設(shè)備連接到蜂窩移動(dòng)3G網(wǎng)絡(luò),固定值為5。// CONNECTION_CELL4G: 網(wǎng)絡(luò)狀態(tài)常量,當(dāng)前設(shè)備連接到蜂窩移動(dòng)4G網(wǎng)絡(luò),固定值為6。// 使用getCurrentType函數(shù)獲取設(shè)備當(dāng)前連接的網(wǎng)絡(luò)類(lèi)型 // plus.networkinfo.getCurrentType();// 檢測(cè)網(wǎng)絡(luò)狀態(tài)變化 // mui.plusReady(function(){ // document.addEventListener("netchange", function(){ // var nt = plus.networkinfo.getCurrentType(); // switch ( nt ) { // case plus.networkinfo.CONNECTION_ETHERNET: // case plus.networkinfo.CONNECTION_WIFI: // mui.alert("切換到wifi!"); // break; // case plus.networkinfo.CONNECTION_CELL2G: // case plus.networkinfo.CONNECTION_CELL3G: // case plus.networkinfo.CONNECTION_CELL4G: // mui.alert("切換到4G網(wǎng)絡(luò)!"); // break; // default: // mui.alert("無(wú)網(wǎng)絡(luò)!"); // break; // } // }, false ); // });nativeUI系統(tǒng)原生界面管理
// 1、actionSheet: 彈出系統(tǒng)選擇按鈕框 // void plus.nativeUI.actionSheet( actionsheetStyle, actionsheetCallback );// 說(shuō)明:從底部動(dòng)畫(huà)彈出系統(tǒng)樣式選擇按鈕框,可設(shè)置選擇框的標(biāo)題、按鈕文字等。 彈出的提示框?yàn)榉亲枞J?#xff0c;用戶點(diǎn)擊選擇框上的按鈕后關(guān)閉,并通過(guò)actionsheetCallback回調(diào)函數(shù)通知用戶選擇的按鈕。// 參數(shù): // actionsheetStyle: ( ActionSheetStyle ) 必選 選擇按鈕框顯示的樣式 // actionsheetCallback: ( ActionSheetCallback ) 可選 選擇按鈕框關(guān)閉后的回調(diào)函數(shù)// plus.nativeUI.actionSheet( {title:"test",cancel:"取消",buttons:[{title:"1"},{title:"2"}]}, function(e){ // // e.index 代表選擇按鈕的序列號(hào) // console.log( "User pressed: "+e.index ); // });// 2、alert彈出系統(tǒng)提示對(duì)話框// void plus.nativeUI.alert( message, alertCB, title, buttonCapture );// 說(shuō)明:創(chuàng)建并顯示系統(tǒng)樣式提示對(duì)話框,可設(shè)置提示對(duì)話框的標(biāo)題、內(nèi)容、按鈕文字等。 彈出的提示對(duì)話框?yàn)榉亲枞J?#xff0c;用戶點(diǎn)擊提示對(duì)話框上的按鈕后關(guān)閉,并通過(guò)alertCB回調(diào)函數(shù)通知對(duì)話框已關(guān)閉。// 參數(shù): // message: ( String ) 必選 提示對(duì)話框上顯示的內(nèi)容 // alertCB: ( AlertCallback ) 可選 提示對(duì)話框上關(guān)閉后的回調(diào)函數(shù) // title: ( String ) 可選 提示對(duì)話框上顯示的標(biāo)題 // buttonCapture: ( String ) 必選 提示對(duì)話框上按鈕顯示的內(nèi)容// plus.nativeUI.alert('hi boy!',function(){},'test','確定');// 3、confirm 彈出系統(tǒng)確認(rèn)對(duì)話框// void plus.nativeUI.confirm( message, confirmCB, title, buttons );// 說(shuō)明:創(chuàng)建并顯示系統(tǒng)樣式確認(rèn)對(duì)話框,可設(shè)置確認(rèn)對(duì)話框的標(biāo)題、內(nèi)容、按鈕數(shù)目及其文字。 彈出的確認(rèn)對(duì)話框?yàn)榉亲枞J?#xff0c;用戶點(diǎn)擊確認(rèn)對(duì)話框上的按鈕后關(guān)閉,并通過(guò)confirmCB回調(diào)函數(shù)通知用戶點(diǎn)擊的按鈕索引值。// 參數(shù): // message: ( String ) 必選 確認(rèn)對(duì)話框上顯示的內(nèi)容 // confirmCB: ( ConfirmCallback ) 可選 確認(rèn)對(duì)話框關(guān)閉后的回調(diào)函數(shù) 回調(diào)函數(shù)中包括Event參數(shù),可通過(guò)其index屬性(Number類(lèi)型)獲取用戶點(diǎn)擊按鈕的索引值。 // title: ( String ) 可選 確認(rèn)對(duì)話框上顯示的標(biāo)題 // buttons: ( Array[ String ] ) 可選 確認(rèn)對(duì)話框上顯示的按鈕 字符串?dāng)?shù)組,每項(xiàng)對(duì)應(yīng)在確認(rèn)對(duì)話框上顯示一個(gè)按鈕,用戶點(diǎn)擊后通過(guò)confirmCB返回用戶點(diǎn)擊按鈕的在數(shù)組中的索引值。// plus.nativeUI.confirm('確定要?jiǎng)h除嗎?',function(e){ // if(e.index == 1){ // alert('yes'); // } // },'提示', ['否','是0']);// 4、loading等待對(duì)話框// closeWaiting: 關(guān)閉系統(tǒng)等待對(duì)話框// showWaiting: 顯示系統(tǒng)等待對(duì)話框 // var w = plus.nativeUI.showWaiting(); // setTimeout(function (){ // w.close();//或者plus.nativeUI.closeWaiting(); // }, 3000);// 5、prompt 彈出系統(tǒng)輸入對(duì)話框// void plus.nativeUI.prompt( message, promptCB, title, tip, buttons );// 說(shuō)明:創(chuàng)建并顯示系統(tǒng)樣式輸入對(duì)話框,可設(shè)置輸入對(duì)話框的標(biāo)題、內(nèi)容、提示輸入信息、按鈕數(shù)目及其文字。 彈出的輸入對(duì)話框?yàn)榉亲枞J?#xff0c;其中包含編輯框供用戶輸入內(nèi)容,用戶點(diǎn)擊輸入對(duì)話框上的按鈕后自動(dòng)關(guān)閉,并通過(guò)promptCB回調(diào)函數(shù)返回用戶點(diǎn)擊的按鈕及輸入的內(nèi)容。 // 參數(shù): // message: ( String ) 必選 輸入對(duì)話框上顯示的內(nèi)容 // promptCB: ( PromptCallback ) 可選 關(guān)閉輸入對(duì)話框的回調(diào)函數(shù) 回調(diào)函數(shù)中包括Event參數(shù),可通過(guò)其index屬性(Number類(lèi)型)獲取用戶點(diǎn)擊按鈕的索引值,通過(guò)其value屬性(String類(lèi)型)獲取用戶輸入的內(nèi)容。 // title: ( String ) 可選 輸入對(duì)話框上顯示的標(biāo)題 // tip: ( String ) 可選 輸入對(duì)話框上編輯框顯示的提示文字 // buttons: ( Array[ String ] ) 可選 輸入對(duì)話框上顯示的按鈕數(shù)組// plus.nativeUI.prompt('您的姓名',function(e){ // //可通過(guò)event.index(Number類(lèi)型)獲取用戶關(guān)閉輸入對(duì)話框點(diǎn)擊按鈕的索引值,索引值從0開(kāi)始 // //通過(guò)event.value(String類(lèi)型)獲取用戶輸入的內(nèi)容,如果沒(méi)有輸入則返回空字符串。 // if(e.index == 0){ // alert(e.value); // } // },'hcoder','請(qǐng)輸入...',['提交','取消']);// 6、toast顯示自動(dòng)消失的提示消息// void plus.nativeUI.toast( message, options );// 說(shuō)明: 創(chuàng)建并顯示系統(tǒng)樣式提示消息,彈出的提示消息為非阻塞模式,顯示指定時(shí)間后自動(dòng)消失。 提示消息顯示時(shí)間可通過(guò)options的duration屬性控制,長(zhǎng)時(shí)間提示消息顯示時(shí)間約為3.5s,短時(shí)間提示消息顯示時(shí)間約為2s。 // 參數(shù): // message: ( String ) 必選 提示消息上顯示的文字內(nèi)容 // options: ( ToastOption ) 可選 提示消息的參數(shù) 可設(shè)置提示消息顯示的圖標(biāo)、持續(xù)時(shí)間、位置等。// plus.nativeUI.toast("我會(huì)自動(dòng)離開(kāi)",{ // align: "center", // 提示消息框在屏幕中的水平位置 "left"、"center"、"right" // duration: "long", // 提示消息框顯示的時(shí)間 "long"、"short",值為"long"時(shí)顯示時(shí)間約為3.5s,值為"short"時(shí)顯示時(shí)間約為2s,未設(shè)置時(shí)默認(rèn)值為"short"。 // icon: 'images/60x60.gif', // 提示消息框上顯示的圖標(biāo) // style: "inline", // 提示消息框上顯示的樣式 "block"表示圖標(biāo)與文字分兩行顯示,上面顯示圖標(biāo),下面顯示文字; "inline"表示圖標(biāo)與文字在同一行顯示,左邊顯示圖標(biāo),右邊顯示文字。 默認(rèn)值為"block"。 // type: 'text', // "text" - 顯示的消息內(nèi)容為文本字符串; "richtext" - 顯示的消息內(nèi)容為富文本內(nèi)容。 默認(rèn)值為"text"。 // richTextStyle: { // align:'center' // }, // 富文本樣式 // verticalAlign: "bottom" // 提示消息在屏幕中的垂直位置 可選值為"top"、"center"、"bottom",分別為垂直居頂、居中、居底,未設(shè)置時(shí)默認(rèn)值為"bottom"。 // }); // 7、根據(jù)手冊(cè)改造loading// 手冊(cè)地址:http://www.html5plus.org/doc/zh_cn/nativeui.html // plus.nativeUI.showWaiting('加載中...',{padding:'10px', loading:{display:'inline'}});// – storage本地?cái)?shù)據(jù)存儲(chǔ)
// Storage模塊管理應(yīng)用本地?cái)?shù)據(jù)存儲(chǔ)區(qū),用于應(yīng)用數(shù)據(jù)的保存和讀取。應(yīng)用本地?cái)?shù)據(jù)與localStorage、sessionStorage的區(qū)別在于數(shù)據(jù)有效域不同,前者可在應(yīng)用內(nèi)跨域操作,數(shù)據(jù)存儲(chǔ)期是持久化的,并且沒(méi)有容量限制。通過(guò)plus.storage可獲取應(yīng)用本地?cái)?shù)據(jù)管理對(duì)象。// getLength: 獲取應(yīng)用存儲(chǔ)區(qū)中保存的鍵值對(duì)的個(gè)數(shù) // var total = plus.storage.getLength(); // alert(total);// setItem: 修改或添加鍵值(key-value)對(duì)數(shù)據(jù)到應(yīng)用數(shù)據(jù)存儲(chǔ)中 // plus.storage.setItem('name','和大喵!');// getItem: 通過(guò)鍵(key)檢索獲取應(yīng)用存儲(chǔ)的值 // var name = plus.storage.getItem('name'); // mui.toast(name);// removeItem: 通過(guò)key值刪除鍵值對(duì)存儲(chǔ)的數(shù)據(jù) // plus.storage.removeItem('name');// clear: 清除應(yīng)用所有的鍵值對(duì)存儲(chǔ)數(shù)據(jù) // plus.storage.clear();// createPlayer()創(chuàng)建音頻對(duì)象
// var player = plus.audio.createPlayer('_www/audios/1.mp3'); // // player.play(function(){ // //播放完畢 // alert("Audio play success !!"); // }, function (e){ // alert("Audio play error: " + e.message); // }); // // // stop: 停止播放音頻 // setTimeout(function () { // player.stop(); // },10000)?
總結(jié)
以上是生活随笔為你收集整理的H5+ 常用API(拨打电话,设备震动,屏幕方向,屏幕亮度,设备信息...等)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 弘辽科技:淘宝直通车推广无展现?该从何入
- 下一篇: threejs正方体六面贴图