android打开飞行模式-用adb命令控制飞行模式开关

来源:互联网 发布:网络直播怎么赚钱的 编辑:程序博客网 时间:2024/05/16 11:21
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或者在下方评论即可。


原创粉丝点击