TonyJiangWJ / Ant-Forest

基于AutoJS的蚂蚁森林收能量脚本
GNU General Public License v2.0
1.29k stars 195 forks source link

lineage OS 解锁异常 #224

Closed Keeevink closed 5 months ago

Keeevink commented 5 months ago

lineage OS 解锁异常,自动解锁卡在输入完了密码后进入系统的阶段,系统的锁屏是在输完pin码之后需要点回车进行确认,我在系统里面找了一圈没有看见对应的关闭选项,麻烦帮忙看看需要添加什么代码,十分感谢~~~ info.log Screenshot_20240331-124917_LocalSend

TonyJiangWJ commented 5 months ago

你修改一下extends\ExternalUnlockDevice-demo.js,重命名成extends\ExternalUnlockDevice.js 内容只需要在第17行插入如下内容:

    let btn = id('com.android.systemui:id/key_enter').findOne(_config.timeout_findOne)
    if (btn) {
      btn.click()
    }

完整内容如下:

let { config: _config } = require('../config.js')(runtime, global)
module.exports = function (obj) {
  this.__proto__ = obj

  this.unlock = function (password) {
    // 自行定制化解锁方式,这里展示PIN密码的解锁
    if (typeof password !== 'string') throw new Error('密码应为字符串!')
    // 模拟按键
    let button = null
    for (let i = 0; i < password.length; i++) {
      let key_id = 'com.android.systemui:id/key' + password[i]
      if ((button = id(key_id).findOne(_config.timeout_findOne)) !== null) {
        button.click()
      }
      sleep(100)
    }
    let btn = id('com.android.systemui:id/key_enter').findOne(_config.timeout_findOne)
    if (btn) {
      btn.click()
    }
    // 解锁完毕后返回check_unlock方法,模块自动判断是否成功
    return this.check_unlock()
  }

  /**
   * 一般情况下仅仅重写unlock即可,点亮、滑动、校验等等都在Unlock中实现了通用方式
   * 但是如果机型特殊,可以直接重写run_unlock()方法
   * 在run_unlock中编写自己的解锁方式
   */
  // this.run_unlock = function () {
  //   // 在这个里面编写解锁逻辑
  // }

  /**
   * 又或者只有某一个小方法不适用,可以只修改对应的方法即可
   * 具体方法见Unlock中定义的方法 比如failed、check_unlock、swipe_layer等等
   */

}
Keeevink commented 5 months ago

好使,十分感谢~👍👍👍