示例
## 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);
}
}
```