android打开飞行模式-用adb命令控制飞行模式开关
2017-08-23 20:45
1386 查看
public static String HigherAirplaneModePref1 = "settings put global airplane_mode_on "; public static String HigherAirplaneModePref2 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state ";
/** * @ value =1 打开飞行模式 * @ value =2 关闭飞行模式 * * */ public static void setSettingsOnHigh(int value) { String commond = HigherAirplaneModePref1 + value + ";"; if (value == 1) commond += HigherAirplaneModePref2 + "true"; else commond += HigherAirplaneModePref2 + "false"; String result = ShellUtil.runRootCmd(commond); }
//飞行模式工具类
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(); } }
//权限多余的去掉就可以
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 连接互联网Internet权限 --> <!-- GPS定位权限 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 获取ip权限 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- SD卡存储信息 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 网络是否连接 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 手机imei --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
有问题发送邮件17600065050@163.com或者在下方评论即可。
相关文章推荐
- android 代码控制飞行模式开关 支持4.2以上 root
- Android 飞行模式的设置(打开/关闭飞行模式,获取飞行状态状态)
- Android 飞行模式的设置(打开/关闭飞行模式,获取飞行状态状态)
- Android代码实现飞行模式的打开
- Android设备命令打开adb
- 设计模式(12)----- 命令设计模式(升级----一个开关控制多条命令)
- 使用adb命令控制Android
- android 通过adb命令控制wifi开关
- 关于Android打开/关闭飞行模式的一些思考
- 使用adb命令控制Android
- Android adb 命令查看当前打开的activity name
- 在apk 中执行Runtime.getRuntime().exec adb shell各种命令远程控制其他Android设备(一)
- Android如何在命令模式下使用adb命令
- Windows Android Stuido adb命令连接无线调试模式
- Android adb命令选择设备
- Android 调试桥(adb)常用命令详解(转)
- Android ADB 命令
- mplayer编程模式控制命令
- Android adb常用命令
- Android模擬器命令列啟動模式