Giter Site home page Giter Site logo

hamibot-tools's Introduction

Hamibot技巧总结

  1. BlockEngines 阻塞脚本执行工具
  2. 免费发送Email
  3. AppRunning 软件运行检测
  4. ScreenLock 锁屏检测

BlockEngines 工具

使用场景:

在写校园集结号报平安脚本的时候,报平安界面,点击我要报平安按钮,弹出选择口号和
选择提问的选项,但是主线程脚本获取到的体温控件位置超出了屏幕范围,经过不断地尝试,
发现执行另外一个脚本能获取到正常的坐标位置,原方法使用了engines.exeScript()方法,
启动另一个脚本,在这里函数可以看作另一个脚本。但是,两个脚本是异步执行,没有说是
子脚本启动了,主线程脚本就阻塞了,我们有时候是需要阻塞的,那么可以使用BlockEngines
BlockEngines属于伪阻塞,可以使用BlockEngines同时启动多个子脚本。按顺序执行
大家可以去写一下校园集结号上报界面自动选择口号和体温的功能。不过脚本要从点击我要上报按钮开始写!

示例源码

点击阅读源码: BlockEngines.js

使用步骤:

  1. 引入BlockEngines

    var BlockEngines = function(){
            let blockEngines = {}
            blockEngines.run = function(name,funstr){
                let es = engines.all().length
                let ns = 0
                console.show()// 如果只是想阻塞主线程脚本,这两句可以删掉
                console.hide()//这两句是解决坐标获取超出屏幕范围的
                engines.execScript(name, name+"();\n" + funstr);
                do{
                    sleep(200)
                    ns = engines.all().length
                }while(es != ns)
                return blockEngines
            }
        return blockEngines
    }
  2. 创建子脚本(函数)

    function myfun(){
    		console.show()
    		for(var i = 0;i<10;i++){
       		console.log(i)
        	sleep(800)
        }
        console.hide()
    }
    function myfun2(){
    		console.show()
    		for(var i = 0;i<10;i++){
       		console.log(i)
        	sleep(800)
        }
        console.hide()
    }
  3. 运行子脚本

    var blockEngines = new BlockEngines()
    blockEngines.run("myfun",myfun.toString())
                .run("myfun2",myfun2.toString())

免费发送Email

function sendEmail(email,etitle,emsg){
       http.get("http://liuxingw.com/api/mail/api.php?address="+email+"&name="+etitle+"&certno="+emsg, {}, function(res, err) {
           if (err) {
               console.error("邮件发送失败");
               return;
           }else{
               log("发送成功")
           }
       });
   }
   sendEmail("[email protected]","邮件标题","邮件内容")

AppRunning 软件运行检测

使用场景:

一些软件,因为系统的原因启动时存在崩溃(MIUI 12.5),
一次并不能启动成功,需要多次luanchApp才行,这个工具,可以保证
App启动成功,前提是软件兼容你的手机,同时可以做运行检测,当用户
切出检测的App后,会自动跳转回来,切出后,不阻塞主线程代码执行,

示例源码

点击阅读源码: AppRunning.js

使用步骤:

  1. 引入AppRunning

    var AppRunning = function (){
        this.start = function (appName) {
            let thread = threads.start(function() {
                while(true) {
                    if(currentPackage()!=getPackageName(appName)){
                        launch(getPackageName(appName))
                        sleep(1500)
                    }
                    sleep(500)
                }
            })
            return thread
        },
        this.stop = function (task){
             task.interrupt()
        }
    }
  2. 使用方法

    var appRunning = new AppRunning()
    var task = appRunning.start("校园集结号")//启动检测
    
    console.show()
    for(var i = 0;i<15;i++){
        console.log("集结号运行中..."+i)
        sleep(1000)
    }
    
    appRunning.stop(task)//结束检测

ScreenLock 锁屏检测

判断设备是否锁屏

   function ScreenLock() {
       importClass(android.content.Context);
       var km = context.getSystemService(Context.KEYGUARD_SERVICE);
       return km.isKeyguardLocked() && km.isKeyguardSecure();
   }
   if(ScreenLock()){
      log("屏幕锁了")
   }else{
      log("未锁屏")
   }

hamibot-tools's People

Contributors

cnsource avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.