• android GPRS


    package com.example;

    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;

    import android.app.Activity;
    import android.app.Dialog;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.os.Bundle;
    import android.view.KeyEvent;

    public class GprsEnable extends Activity {

            public final static int LOGIN_DIALOG = 1;
            private ConnectivityManager mConnectManager;
            /** The open gprs time counter we remember. */
            private int num = 0;
            private ProgressDialog mDialog;

            /** Open the gprs. */
            public void setNetWorkEnable(String cmd) {

                    String[] args = new String[3];
                    args[0] = "svc";
                    args[1] = "data";
                    args[2] = cmd;

                    try {
                            Process process = Runtime.getRuntime().exec(args);

                            // get the err line
                            InputStream stderr = process.getErrorStream();
                            InputStreamReader isrerr = new InputStreamReader(stderr);
                            BufferedReader brerr = new BufferedReader(isrerr);

                            // get the output line
                            InputStream outs = process.getInputStream();
                            InputStreamReader isrout = new InputStreamReader(outs);
                            BufferedReader brout = new BufferedReader(isrout);

                            String line = null;
                            String result = "";

                            // get the whole error message string
                            while ((line = brerr.readLine()) != null) {
                                    result += line;
                                    result += "\n";
                            }

                            if (result != "") {
                                    // put the result string on the screen
                                    System.out.println("the error outcome is ___" + result);
                            }

                            result = "";
                            // get the whole standard output string
                            while ((line = brout.readLine()) != null) {
                                    result += line;
                                    result += "\n";
                            }
                            if (result != "") {
                                    // put the result string on the screen
                                    System.out.println("the outcome is ___" + result);
                            }
                            if (!cmd.equalsIgnoreCase("disable")) {
                                    try {
                                            Thread.sleep(2000);
                                            checkState();
                                    } catch (InterruptedException e) {
                                            // TODO Auto-generated catch block
                                            e.printStackTrace();
                                    }
                            }
                    } catch (Throwable t) {
                            t.printStackTrace();
                    }
            }

            /** Called when the activity is first created. */
            @Override
            public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.main);
                    showDialog(GprsEnable.LOGIN_DIALOG);
                    mConnectManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                    if (checkWifiStatus()) {
                            dismissDialog(GprsEnable.LOGIN_DIALOG);
                            return;
                    }
                    if (!checkGprsStatus()) {
                            setNetWorkEnable("enable");
                            return;
                    }
                    dismissDialog(GprsEnable.LOGIN_DIALOG);
            }

            /** Check the wifi is open or not. */
            public boolean checkWifiStatus() {
                    return mConnectManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
                                    .getState() == NetworkInfo.State.CONNECTED ? true : false;
            }

            /** Check the Gprs is open or not. */
            public boolean checkGprsStatus() {
                    return mConnectManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
                                    .getState() == NetworkInfo.State.CONNECTED ? true : false;
            }

            protected Dialog onCreateDialog(int id) {
                    switch (id) {
                    case GprsEnable.LOGIN_DIALOG:
                            mDialog = new ProgressDialog(GprsEnable.this);
                            mDialog.setMessage("GPRS开启中....");
                            return mDialog;
                    default:
                            return null;
                    }
            }

            public boolean onKeyDown(int keyCode, KeyEvent event) {
                    switch (keyCode) {
                    case 4:
                            if (checkGprsStatus()) {
                                    setNetWorkEnable("disable");
                            }
                            finish();
                            break;
                    }
                    return true;
            }

            /** Check the gprs is opened or not,if not try to open one time again. */
            public void checkState() {
                    num++;
                    if (!checkGprsStatus() && num < 2) {
                            setNetWorkEnable("enable");
                    } else {
                            dismissDialog(GprsEnable.LOGIN_DIALOG);
                    }
            }
    }

    需要添加的权限:Java代码


    <!-- 查询网络状态权限 -->
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
            <!-- 修改手机连接网路状态权限 -->
            <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />

  • 相关阅读:
    html iframe 滚动条
    Angular-Ant Desigin 开篇
    端口访问不了的原因
    swift 加载 本地html 和 网络路径
    xcode9.4 报错 error:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
    viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
    JavaScript设计模式之一Interface接口
    ES6原生Class
    react portals
    react-native-pushy 热更新
  • 原文地址:https://www.cnblogs.com/xsmhero/p/2545823.html
Copyright © 2020-2023  润新知