on{X}: 偵測經緯度與使用emit模擬觸發事件
要查出目前位置的經緯度也可以使用on{X}來求出;用device.location建立一個位置的Listener,當Listener偵測到位置變動時觸發changed事件:
// create GPS listener with update interval of 5 sec // you can also use GPS or CELL or PASSIVE providers here var listener = device.location.createListener('CELL', 5000); // regiter on location changed listener.on('changed', function (signal) { // on receiving location print it and stop the provider console.info('緯度: '+signal.location.latitude+ '經度: '+signal.location.longitude); listener.stop(); }); // start the GPS listener listener.start();
用emit測試事件的觸發
前一篇以device.regions的"enter"與"exit"事件來判斷進入或離開特定位置,因為這兩個事件只在位置有變動時才會被觸發,為了方便測試可以使用emit( )方法來模擬觸發事件:
// 模擬進入指定的經緯度位置 device.regions.emit('enter',{"latitude" : 25.049845,"longitude" : 121.580291}); // 下面則是模擬離開指定的經緯度位置 device.regions.emit('exit',{"latitude" : 25.049845,"longitude" : 121.580291});
區分訊息的發送者
為了確認某個rule確實有被執行,我們經常會以device.notefications.createNotification()發送訊息到通知面板,為了能清楚辨識訊息是由那個rule發出的,建議在訊息開頭加上rule的名稱,這樣就能很清楚知道訊息是由誰發出的。
device.notifications.createNotification("[Wifi updated] 3G mode is " + device.network.mobileDataEnabled).show();
##
您可能也會有興趣的類似文章
- 以on{X}平台用JavaScript寫Android自動化程式 (0則留言, 2012/09/02)
- Android Studio的安裝、設定與執行 (4則留言, 2013/10/03)
- 開發Android應用程式時操作SQLite資料庫的方法 (0則留言, 2019/03/30)
- [Android Studio #9] 無法執行x86模擬器的處理步驟 (2則留言, 2015/04/20)
- 悲催上班族必備Android工具:Desktop Notifications,讓電腦瀏覽器同步顯示手機的通知訊息 (2則留言, 2013/07/22)
- [Android Studio #2] 操作資源XML檔 (0則留言, 2013/10/03)
- [Android Studio #3] 使用Android Asset Studio產生圖示檔與@+id與@id之差異 (0則留言, 2013/10/07)
- Galaxy S3 Root步驟簡述與擷取手機螢幕Apps (0則留言, 2012/08/11)
- 用LIME HD的自建輸入法擴充Galaxy S3的倉頡輸入 (0則留言, 2012/07/26)
- 有風險的12種手機解鎖手勢 (0則留言, 2018/09/06)
- Galaxy S3的純文字編輯器:Jota Text Editor (0則留言, 2012/07/25)
- [Android] Google Play更新應用程式時出現RPC:S-5錯誤 (0則留言, 2012/11/27)
- 換新手機Galaxy S3,初試Android倉頡輸入法 (0則留言, 2012/07/18)
- ASUS釋出 ZenFone 2的官方版解鎖工具 (0則留言, 2015/10/15)
- [Android / iOS] 將手機變身為中華電信MOD遙控器和Sony電視遙控器 (0則留言, 2013/08/25)
Sorry, 很久沒用Google sc…