روشن و خاموش کردن WiFi با استفاده از ابزار switch در اندروید

دوشنبه 25 آبان 1394

در این مقاله می خواهیم در مورد روشن و خاموش کردن wifi در توسط ابزار Switch توضیح دهیم ، که بازدن کلمه ی On اینترنت روشن می شود و با زدن OFF اینترنت خاموش می شود.

روشن و خاموش کردن WiFi  با استفاده از ابزار switch در  اندروید

WiFi فناوری بروز و محبوب شبکه که از امواج رادیویی به ارائه اینترنت بی سیم با سرعت بالا و قابلیت اتصال به شبکه است.

توسط بسیاری از برنامه های کاربردی و دستگاه ها از جمله بازی های ویدئویی، کنسول، تلفن همراه ، سیستم عامل، و انواع دیگر از لوازم الکترونیکی مصرفی را پشتیبانی می کند.

در فایل xml خود داخل activity اول که برای نمایش دکمه ی خاموش و روشن اینترنت است، ما از یک switch استفاده می کنیم، که این ابزار از API14 به بالا را پشتیبانی می کند و اگر در androidmanifest شما mivsdkversion را 14  به پایین بگذارید برنامه ی شما اجرا نخواهد شد.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

 

    <ImageView

        android:id="@+id/imageView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerInParent="true"

        android:src="@drawable/images2" />

 

    <Switch

        android:id="@+id/wifi_switch"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_marginBottom="10dp"

        android:background="@android:color/background_dark"

        android:checked="false"

        android:text="Wi-Fi Settings"

        android:textColor="@android:color/white"

        android:textOff="OFF"

        android:textOn="ON" />

 

</RelativeLayout>

ابزار switch را تعریف نمایید، و برای آن یک رویداد setOncheckedchangeListener بگذارید، در اینجا از یک Boolean استفاده می کند اگر true بود پیغام Toast را نمایش می دهد که اینترنت فعال هست و اگر false بود پیغام Toast را نشان می دهد که اینترنت غیر فعال است.

یک متد WiFiToggle تعریف می کنیم، از یک WiFiManager استفاده می کنیم، اگر true باشد WiFi روشن می شود ولی اگر false باشد WiFi خاموش می شود.

import android.app.Activity;
import android.os.Bundle;
import android.net.wifi.WifiManager;

import android.os.Bundle;

import android.widget.CompoundButton;

import android.widget.Switch;

import android.widget.Toast;

import android.app.Activity;

import android.content.Context;

public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Switch toggle = (Switch) findViewById(R.id.wifi_switch);

        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                if (isChecked) {

                    WiFitoggle(true);

                    Toast.makeText(getApplicationContext(), " فعال", Toast.LENGTH_LONG).show();

                } else {

                    WiFitoggle(false);

                    Toast.makeText(getApplicationContext(), " غیر فعال", Toast.LENGTH_LONG).show();

                }

            }

        });

    }
    public void WiFitoggle(boolean s) {

        WifiManager wifiManager = (WifiManager) this

                .getSystemService(Context.WIFI_SERVICE);

        if (s == true && !wifiManager.isWifiEnabled()) {

            wifiManager.setWifiEnabled(true);

        } else if (s == false && wifiManager.isWifiEnabled()) {

            wifiManager.setWifiEnabled(false);

        }

    }

}

توجه داشته باشید حتما داخل androidmanifest مجوز دسترسی به WiFi را قرار دهید.

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK" />

خروجی به صورت زیر خواهد بود:

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید