Android wifi连续通断测试

前言:本文记录的是Android压力测试中, 如wifi等需要进行连续通断测试的小模板, 方便以后复制.
原文出处:http://blog.csdn.net/u014158743/article/details/52692784

private void doWifiBreakMakeLoop() {
    new AsyncTask<Void, Integer, Void>() {
        ProgressDialog prg = new ProgressDialog(StressActivity.this);
        boolean stopLoop = false;
        int loopTimes = 0;
        @Override
        protected void onPreExecute() {
            prg.setOnCancelListener(new OnCancelListener() {
                @Override
                public void onCancel(DialogInterface dialog) {
                    stopLoop = true;
                    loopTimes = 0;
                    mWifiAdmin.addNetWork(mWifiAdmin.CreateWifiInfo("XW", "123132", 3));
                    Toast.makeText(StressActivity.this, "正在连接wifi", Toast.LENGTH_SHORT).show();
                }
            });
            prg.show();
        };
        @Override
        protected Void doInBackground(Void... params) {
            boolean runOnceFlag = true;
            while (!stopLoop) {
                publishProgress(loopTimes++);
                do {
                    if (runOnceFlag) {
                        mWifiAdmin.disConnectionWifi();
                        runOnceFlag = false;
                    }
                    SystemClock.sleep(1000);
                } while (mWifiAdmin.isWifiConnected(StressActivity.this));
                publishProgress(999999);
                runOnceFlag = true;
                do {
                    if (runOnceFlag) {
                        mWifiAdmin.addNetWork(mWifiAdmin.CreateWifiInfo("XW", "123xinw0", 3));
                        runOnceFlag = false;
                    }
                    SystemClock.sleep(1000);
                } while (!mWifiAdmin.isWifiConnected(StressActivity.this));
                runOnceFlag = true;
            }
            return null;
        }
        @Override
        protected void onProgressUpdate(Integer... values) {
            prg.setMessage("成功连接, wifi通断..." + values[0] + "次");
            if (values[0] == 999999) {
                prg.setMessage("wifi已成功断开, 正在连接");
            }
        };
        @Override
        protected void onPostExecute(Void result) {
            stopLoop = false;
        };
    }.execute();
}

猜你喜欢

转载自blog.csdn.net/u014158743/article/details/52692784