启动应用并点击指定坐标

15次阅读
没有评论

问题描述

希望实现一个功能:当手机开机时,自动启动“共享热点”(tethering)应用,并在该应用启动时点击屏幕中央的大按钮以开始共享热点。

尽管可以通过ADB命令实现这一目标,但提问者希望能够开发一个脚本并在手机上运行,从而在每次开机时也自动执行此操作。由于手机已经root,因此允许使用更高权限的解决方案。

解决方案

请注意以下步骤适用于已root的设备,并且这些步骤会涉及修改系统文件,请谨慎操作或备份重要数据。

方案1:使用自动化应用避免手动点击

尽管ADB命令可以在脚本中调用以启动应用,但更推荐的做法是使用现有的自动化工具直接触发这一过程。这些自动化应用内置于某些情况下自动操作共享热点功能,从而无需手动点击。

  1. 下载并安装自动化工具
  2. 从谷歌Play商店下载以下任意一款自动化应用:Automate(免费)、Automagic(付费)、或Tasker(付费)+AutoInput(7天优惠试用版)

  3. 在应用中配置自动操作共享热点

  4. 启动下载的自动化工具,按提示创建流程(flow)。
  5. 在适当的位置插入触发条件(例如,“系统”开启时或设备启动完成时),使用这些工具自带的条件选择器选取开机事件作为触发点。
  6. 使用相应的动作指令配置自动启动热点功能。这可能意味着直接使用“执行ADB命令”的方式,或者是调用内置的功能来管理共享热点。

方案2:手动编写脚本并安装

当没有合适的自动化应用时,可以采用手动方法写一个简单的ADB script。步骤包括:
1. 转至开发者模式,并启用USB调试。
2. 通过adb devices确认设备连接成功。
3. 编写以下内容并保存为shell file(如start_hotspot.sh
“`sh
#!/system/bin/sh

# 启动你的tethering应用
am start -n com.yourprovider/.TetheringApp

# 等待10秒或者更长的时间,等待共享热点界面完全加载并允许执行自动化操作命令(可选步骤)

# 找到屏幕中央的大按钮坐标,并模拟点击
input tap 433 2568
``
4. 使用
adb shell进入系统shell,然后运行写好的脚本进行测试和调整。
5. 如果需要让这个脚本在开机时自动执行,则还需要将它设置为开机启动服务。可以在
init.d`目录下创建一个sh文件并添加相应的代码(部分设备支持此项功能)。请确保该Shell script在root环境下可访问且运行正常。

注意事项

  • 确保你的设备已经被彻底备份,因为对系统文件或脚本的修改可能会造成不可预知的问题。
  • 经常检查所用工具和方法的安全性与兼容性。
  • 在正式使用前请详细阅读文档并实践测试。
正文完