android 通过adb命令控制wifi开关
2017-08-23 17:47
351 查看
手机必须root
public static void setSettingsWifi() { ShellUtil.runRootCmd("svc wifi enable"); }
package com.watch.in.uitlis.data; /** * Created by Administrator on 2017/6/21. */ import android.util.Log; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class ShellUtil { private static String TAG = ShellUtil.class.getName(); public static String runCommand(String command) { Process process = null; String result = "false"; try { process = Runtime.getRuntime().exec(command); process.waitFor(); result = inputStreamToString(process.getInputStream()); Log.e(TAG, result); } catch (Exception e) { return result; } finally { try { process.destroy(); } catch (Exception e) { } } return result; } //http://blog.csdn.net/alexander_xfl/article/details/9150971 //command can be some cmd, use ; to split public static String runRootCmd(String command) { return runRootCmd(command, ";"); } public static String runRootCmd(String command, String split) { Process process = null; DataOutputStream os = null; String result = "false"; try { process = Runtime.getRuntime().exec("su"); OutputStream outstream = process.getOutputStream(); DataOutputStream dataOutputStream = new DataOutputStream(outstream); String temp = ""; String[] cmds = command.split(split); for(int i = 0; i < cmds.length; i++) temp += cmds[i] + "\n"; dataOutputStream.writeBytes(temp); dataOutputStream.flush(); dataOutputStream.writeBytes("exit\n"); dataOutputStream.flush(); process.waitFor(); result = inputStreamToString(process.getInputStream()); Log.i(TAG, temp); } catch (Exception e) { Log.e(TAG, e.getMessage()); return result; } finally { Log.i(TAG, result); try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { Log.e(TAG, e.getMessage()); } } return result; } private static String inputStreamToString(InputStream in) throws IOException { StringBuffer out = new StringBuffer(); byte[] b = new byte[1024]; for (int n; (n = in.read(b)) != -1;) { out.append(new String(b, 0, n)); } return out.toString(); } }
<!-- wifi设置模块相关权限条 --> <!-- 以下是使用wifi访问网络所需的权限 --> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
权限挑有用的就行
相关文章推荐
- 使用adb命令控制Android
- Android中使用adb命令通过IP地址连接手机
- PC通过ADB控制Android手机模拟点击,滑动,输入等事件(包括控制多台Android手机)
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- [Android]通过adb shell input上报命令模拟屏幕点击事件
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- 实现可以通过adb命令获取Android手机的IP地址
- Android adb命令大全(通过adb命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- 【Android】通过adb shell命令查看内存,CPU,启动时间,电量等信息
- 通过ADB控制多台Android设备
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- [Android]通过adb shell input上报命令模拟屏幕点击事件【转】
- 通过ADB命令获取Android手机的分辨率(升级版)
- Android 一:通过adb命令判断手机是否被root过
- 转载 Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
- 通过adb命令在Android设备中执行Java命令, 并调用so文件。
- execlp启动android进程命令窗口通过adb shell 进入android 的Linux命令界面,输入am -help看到如下信息: 我们可以通过命令启动android中的
- 在windows下使用cmd命令通过adb shell自动调用android模拟或真机的InstrumentRunner进行android 自动化测试
- window和linux命令交互之--android镜像自动化编译,通过windows的bat脚本控制ubuntu编译服务器编译镜像