示例

## Toast监听 ```js auto(); events.observeToast(); events.onToast(function(toast){ var pkg = toast.getPackageName(); log("Toast内容: " + toast.getText() + " 来自: " + getAppName(pkg) + " 包名: " + pkg); }); toast("监听中,请在日志中查看记录的Toast及其内容"); ``` ## 按键监听 ```js "auto"; events.observeKey(); var keyNames = { "KEYCODE_VOLUME_UP": "音量上键", "KEYCODE_VOLUME_DOWN": "音量下键", "KEYCODE_HOME": "Home键", "KEYCODE_BACK": "返回键", "KEYCODE_MENU": "菜单键", "KEYCODE_POWER": "电源键", }; events.on("key", function(code, event){ var keyName = getKeyName(code, event); if(event.getAction() == event.ACTION_DOWN){ toast(keyName + "被按下"); }else if(event.getAction() == event.ACTION_UP){ toast(keyName + "弹起"); } }); loop(); function getKeyName(code, event){ var keyCodeStr = event.keyCodeToString(code); var keyName = keyNames[keyCodeStr]; if(!keyName){ return keyCodeStr; } return keyName; } ``` ## 触摸监听 ```js events.observeTouch(); events.setTouchEventTimeout(30); toast("请在日志中查看触摸的点的坐标"); events.on("touch", function(point){ log(point); }); loop(); ``` ## 通知监听 ```js auto(); events.observeNotification(); events.onNotification(function(notification){ printNotification(notification); }); toast("监听中,请在日志中查看记录的通知及其内容"); function printNotification(notification){ log("应用包名: " + notification.getPackageName()); log("通知文本: " + notification.getText()); log("通知优先级: " + notification.priority); log("通知目录: " + notification.category); log("通知时间: " + new Date(notification.when)); log("通知数: " + notification.number); log("通知摘要: " + notification.tickerText); } ``` ## 音量键控制程序 ```js "auto"; events.observeKey(); var interval = 5000; var task = task1; events.onKeyDown("volume_up", function(event){ if(task == task1){ task = task2; }else{ task = task1; } toast("任务已切换"); }); events.onKeyDown("volume_down", function(event){ toast("程序结束"); exit(); }); task(); loop(); function task1(){ toast("任务1运行中,音量下键结束,音量上键切换任务"); setTimeout(task, interval); } function task2(){ toast("任务2运行中,音量下键结束,音量上键切换任务"); setTimeout(task, interval); } ``` ## 音量键停止脚本 ```js function isKeyDown(){ //监听音量下键是否按下,退出脚本 threads.start(function(){ events.setKeyInterceptionEnabled("volume_down",true); //监听按键 events.observeKey(); events.onKeyDown("volume_down", function(event){ toast("已关闭脚本!"); engines.myEngine().forceStop(); }); }); }; ``` ## 长按返回退出当前程序 ```js "auto"; var 长按间隔 = 1500; var curPackage = null; var timeoutId = null; events.observeKey(); events.onKeyDown("back", function(event){ curPackage = currentPackage(); timeoutId = setTimeout(function(){ backBackBackBack(); }, 长按间隔); }); events.onKeyUp("back", function(event){ clearTimeout(timeoutId); }); loop(); function backBackBackBack(){ while(curPackage == currentPackage()){ back(); sleep(200); } } ```