首页 > 其他分享 >autoxjs使用app操作手机无需root-关闭应用

autoxjs使用app操作手机无需root-关闭应用

时间:2024-12-12 18:32:55浏览次数:13  
标签:app xCenter autoxjs 500 appNo var root yCenter curNo

文章目录

主题

autoxjs是一款开源app,可以用脚本操作手机。本文主要通过脚本来关闭某个应用,例如微信,已封装成一个方法,其中有个参数989为右边距的一个值,此值是我华为nova 8 Pro获取到的,可能不同手机不一样,用来获取当前展示应用是你要关闭的应用。
网上搜到的都是打开应用信息,用强制停止关闭,本文采用另外一种方式,采用双指向上滑动来关闭应用。

代码

主要代码如下:

function stopApp(AppName){
  home();
  sleep(500);
  var xCenter = device.width/2;
  var yCenter = device.height/2;
  gestures([600, [xCenter, yCenter * 2 - 50], [xCenter, yCenter * 2 - 500]]);
  sleep(1000);
  var frame = className("android.widget.FrameLayout").depth(1).find();
  var titles = id("title").className("android.widget.TextView").depth(2).find();
  var len = frame.length;
  //判断向左向右,滑动几次
  let curNo = -1;
  let appNo = -1;
  for(var t=0;t<len;t++){
    if(!titles[t]){
      continue;
    }
    var txt = titles[t].text();
    var rg = frame[t].bounds().right;
    if(rg == 989){ //这是我手机上的值,不知道别的手机多少
      curNo = t;    
    }
    if(txt != null && txt.indexOf(AppName) > -1){
      appNo = t;
    }
  }
  if(appNo == -1){
  home();
  return;
  }
  
  if(appNo < curNo){
    //左滑
    var num = curNo - appNo;
    while( num-- > 0){
      gestures([500, [xCenter, yCenter], [xCenter * 2, yCenter]]);
      sleep(100);
    }
  } else if(appNo > curNo){
    var num = appNo - curNo;
    while( num-- > 0){
      gestures([500, [xCenter, yCenter], [0, yCenter]]);
      sleep(100);
    }
  } 
  gestures([500, [xCenter, yCenter], [xCenter, 0]],
    [500, [xCenter + 50, yCenter], [xCenter + 50, 0]]);
  home();
}

使用方法如下:

stopApp("微信");

问题

通过打印frame,可以获取rg值,其他部分应该不需要修改,如果有问题欢迎指正。

标签:app,xCenter,autoxjs,500,appNo,var,root,yCenter,curNo
From: https://blog.csdn.net/weixin_43634622/article/details/144392296

相关文章

  • Win电脑必装良心APP!8款高效办公软件推荐
    1、浏览器:EdgeWindows自带浏览器,速度快,内存占用少,集成度高,可以跨平台同步,支持很多拓展程序来增加浏览器的使用体验。2、桌面便签+日程管理:敬业签主界面可以一直在电脑桌面上悬挂显示,可置顶也可以嵌入桌面。可以分类管理便签和待办事项,保存多种格式的电子附件,也可以设置提醒时......
  • uniapp多次触发跳转问题
    问题描述:快速点击跳转页面后会闪退到登陆页面解决方案:重新封装uniapp跳转api,加防抖锁,To.tsimport{NavigateToOptions,RedirectToOptions,ReLaunchOptions,SwitchTabOptions}from'uni-app';interfaceToImplements{navigateTo(obj:NavigateToOptio......
  • Dapper.SimpleCRUD:Dapper的CRUD助手
    我们在项目开发中,面对一些高并发、大数据量等业务场景,往往对SQL语句的性能要求比较高,这个时候为了方便灵活控制,我们一般就会编写原生的SQL。Dapper就是一个非常高性能的轻量级ORM框架,Dapper采用原生SQL语句的方式,对于CRUD这些简单操作我们一般都会自行封装,不然就会变成很繁琐。......
  • ThinkPHP+Uniapp二手车置换平台小程序系统源码
    二手车置换平台小程序系统微信小程序+抖音小程序双端数据同步基于ThinkPHP+Uniapp开发的一款二手车置换平台小程序系统,为买家和卖家提供了一个交流和交易的平台,促进了二手车市场的发展!车辆发布:自主发布车辆信息圈子交流:可以在圈子进行信息交流数据统计:每日的访客数量,留言......
  • Thinkphp后端管理系统+Uniapp客户端社区团购(仅支持微信小程序)
    Shopro社区团购(小程序版)基于Thinkphp后端管理系统+Uniapp客户端(仅支持微信小程序)开发,生鲜果蔬社区团购的不二之选、快速搭建社区团购平台、让你的产品走进上千个社区。线上团购+线下自提,玩转社区消费新模式提供专业、优质的社区团购解决方案!自提点1.选择自提点可根据定......
  • ssm毕设校园快递代取App程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着网络购物在校园中的蓬勃发展,学生们的网购需求持续增长。但由于学业任务繁重、课程安排紧凑等因素,许多学生难以在快递送达时亲自去领取快递,这......
  • ssm毕设闲置物品平台app程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会经济的发展和人们生活水平的提高,消费不断升级,人们拥有的物品数量日益增多。然而,许多物品在使用一段时间后,由于各种原因被闲置,造成资源的......
  • UniApp 全局使用uni.getSystemInfoSync()的坑,你中招了吗
    UniApp全局使用uni.getSystemInfoSync()的坑,你中招了吗标签:uni-app,设备信息,Vue.prototype,windowHeight,uview-plus最近写UniApp的时候,有小伙伴问了我一个问题:“每次用uni.getSystemInfoSync()获取设备信息太麻烦了,能不能全局赋值一次,哪里用直接拿?”乍一听很合理......
  • Next.js 14 实战:使用 App Router 构建高性能 React 应用
    "你们的网站加载速度太慢了,而且SEO效果很差。"上个月,我们接到了一个来自海外客户的紧急需求。他们的电商网站是用传统的ReactSPA构建的,在性能和搜索引擎优化方面都遇到了瓶颈。作为技术负责人,我立刻想到了Next.js14的AppRouter。......
  • 如何优化实现了ApplicationListener接口导致的onApplicationEvent方法多次调用问题?
    背景:记录一次代码优化,CreateIndex中实现ApplicationListener接口导致onApplicationEvent方法多次调用,方法里重复加载该注解的类.this.applicationContext.getBeansWithAnnotation(ESMetaData.class).排查过程:首先在服务启动run方法打断点,在springboot在加载的过程中,会......