简体   繁体   English

Android 飞行模式更改

[英]Android airplane mode change

I have a rooting phone(5.0.1)我有一个生根电话(5.0.1)
I want to switch on & off airplane mode every 40 seconds我想每 40 秒打开和关闭一次飞行模式

not working不工作

Settings.System.putInt(getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 1);

then I tried:然后我试过:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String r1 = run_cmd("adb shell settings put global airplane_mode_on 1");
        String r3 = run_cmd("adb shell am broadcast -a android.intent.action.AIRPLANE_MODE");

        Log.e("test1", r1);
        Log.e("test3", r3);
    }

    private String run_cmd(String command) {
        StringBuilder output = new StringBuilder();

        java.lang.Process p;
        try {
            p = Runtime.getRuntime().exec(command);
            p.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line = "";
            while ((line = reader.readLine()) != null) {
                output.append(line).append("\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return output.toString();
    }
}

how airplane mode change?飞行模式怎么改?

🧐It looks like your post is mostly code; 🧐看起来你的帖子主要是代码; please add some more details.请添加更多详细信息。

cmd code指令码

public static final boolean execute(String cmd) {
        try {
            if (cmd != null && cmd.length() > 0) {
                Process p = Runtime.getRuntime().exec("su");
                DataOutputStream dos = new DataOutputStream(p.getOutputStream());
                dos.writeBytes(cmd + "\n");
                dos.writeBytes("exit\n");
                dos.flush();
                dos.close();
                p.waitFor();
            } else {
                Log.e(TAG, "command is null or empty");
            }
        } catch (IOException ex) {
            Log.e(TAG, "IOException");
            ex.printStackTrace();
        } catch (SecurityException ex) {
            Log.e(TAG, "SecurityException");
            ex.printStackTrace();
        } catch (Exception ex) {
            Log.e(TAG, "Generic Exception");
            ex.printStackTrace();
        }
        return false;
    }

main主要的

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        int second = 50;

        new CountDownTimer(second * 1000, second * 1000) {
            public void onTick(long l) {
            }

            public void onFinish() {
                RootPrivileges.execute("settings put global airplane_mode_on 1;" +
                        "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true;");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                RootPrivileges.execute("settings put global airplane_mode_on 0;" +
                        "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false;");
                start();
            }
        }.start();
    }
}

simple code - Resolved简单的代码 - 已解决

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM