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

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

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信息了。

 

posted @ 2019-02-20 12:00  小牧头  阅读(1698)  评论(2编辑  收藏  举报