欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓开发中实现自动点击功能、获取网络信息’-博客新人初来乍到,欢迎大佬多多指教。

程序员文章站 2022-07-05 16:07:46
本人做安卓开发三个月,不是本专业的(兴趣转行),是一枚萌新,目前公司的项目是一个游戏的脚本,但毕竟一个项目所用到的知识是有限的,所以决定开通博客,坚持每天学习(目前也没发现好的学习资源,知识比较老)并分享,这几天将分享公司项目用到的技术同时还有自己学习的东西,请多多指教!!! github后期同步更 ......

本人做安卓开发三个月,不是本专业的(兴趣转行),是一枚萌新,目前公司的项目是一个游戏的脚本,但毕竟一个项目所用到的知识是有限的,所以决定开通博客,坚持每天学习(目前也没发现好的学习资源,知识比较老)并分享,这几天将分享公司项目用到的技术同时还有自己学习的东西,请多多指教!!!

github后期同步更新!

这里实现自动点击功能有两种

1.自动滑动   2.自动点击

 

自动滑动方法(参数是滑动的两端坐标)

public void swipe(float x1, float y1, float x2, float y2){
string swipecmd = "/system/bin/input swipe "+x1+" "+y1+" "+x2+" "+y2+" 200";
execinputcmd(swipecmd);
}

 

自动点击方法(参数是坐标)
public void tap(float x1, float y1){
string tapcmd = "/system/bin/input tap "+x1+" "+y1;
execinputcmd(tapcmd);
}

 

 

实现自动点击的方式(cmd命令)
private void execinputcmd(string cmdstr){
//log.e(tag, "vism:模拟触屏命令: "+cmdstr);
try {
if(mdataoutstream==null){
process mprocess = runtime.getruntime().exec("su");
mdataoutstream = new dataoutputstream(mprocess.getoutputstream());
}
log.e(tag, "swipebycmd:"+cmdstr);
mdataoutstream.write(cmdstr.getbytes());
mdataoutstream.writebytes("\n");
mdataoutstream.flush();
/*
mdataoutstream.writebytes("exit\n");
mdataoutstream.flush();
mdataoutstream.close();
*/
} catch (ioexception e) {
e.printstacktrace();
}
}

 

 

 

 

获取手机网络信息

1.在mainactivity中定义一个 private connectivitymanager manager;(建议定义空间或者是manager都用private)

2.oncreate方法中初始化:

manager = this.getsystemservice(context.connectivity_service);

3.获取网络链接信息:(这里示例获取当前wifi的情况)

state wifi = manager.getnetworkinfo(connectivitymanager.type_wifi).getstate();

将wifi tostring一个就可以获得wifi信息了。