কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েড ডিভাইসে প্রোগ্রাম্যাটিক্যালি WiFi অন/অফ করার পদ্ধতি

WifiManager ব্যবহার করে WiFi টগল করা

এই উদাহরণে দুটি বাটন ব্যবহার করে WiFi সক্ষম এবং অক্ষম করার পদ্ধতি দেখানো হয়েছে। `WifiManager.setWifiEnabled()` মেথড ব্যবহার করা হয়েছে। মনে রাখবেন Android 10+ এ এই পদ্ধতি ডিপ্রিকেটেড।

ধাপ ১: প্রজেক্ট তৈরি করুন

স্ট্যান্ডার্ড অ্যান্ড্রয়েড প্রজেক্ট।

ধাপ ২: লেআউট - দুটি বাটন

res/layout/activity_main.xml - `onClick` অ্যাট্রিবিউট ব্যবহার:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="WiFi On!"
        android:onClick="enableWifi" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="WiFi Off!"
        android:onClick="disableWifi" />
</LinearLayout>

ধাপ ৩: WiFi টগল লজিক

src/MainActivity.java:

import android.content.Context;
import android.net.wifi.WifiManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private WifiManager wifiManager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // Application Context ব্যবহার করুন মেমরি লিক এড়াতে
        wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    }
    
    public void enableWifi(View view) {
        if (wifiManager != null && !wifiManager.isWifiEnabled()) {
            wifiManager.setWifiEnabled(true);
            Toast.makeText(this, "WiFi Enabled", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "WiFi Already Enabled", Toast.LENGTH_SHORT).show();
        }
    }
    
    public void disableWifi(View view) {
        if (wifiManager != null && wifiManager.isWifiEnabled()) {
            wifiManager.setWifiEnabled(false);
            Toast.makeText(this, "WiFi Disabled", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "WiFi Already Disabled", Toast.LENGTH_SHORT).show();
        }
    }
}

ধাপ ৪: প্রয়োজনীয় পারমিশন

AndroidManifest.xml:

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

⚠️ Android 10+ এ পরিবর্তন

মূল পরিবর্তন: API Level 29 (Android 10) থেকে স드র ভ্যালু `setWifiEnabled()` ডিপ্রিকেটেড। অ্যাপগুলো সরাসরি WiFi স্টেট পরিবর্তন করতে পারবে না।

বিকল্প পদ্ধতি: ব্যবহারকারীকে WiFi সেটিংস প্যানেলে রিডাইরেক্ট করুন:
Intent intent = new Intent(Settings.Panel.ACTION_WIFI);
startActivityForResult(intent, REQUEST_WIFI_SETTINGS);
বা সিস্টেম সেটিংস ইন্টেন্ট:
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));

সেরা অনুশীলন

  • Application Context ব্যবহার করুন (`getApplicationContext()`) - এক্টিভিটি কনটেক্সট ব্যবহার করলে মেমরি লিক হতে পারে
  • WiFi স্টেট চেক করুন অ্যাকশন নেওয়ার আগে (`isWifiEnabled()`)
  • ব্যবহারকারীকে জানান WiFi স্টেট পরিবর্তন হয়েছে
  • Android 10+ টার্গেট করলে Settings Panel API ব্যবহার করুন
অ্যান্ড্রয়েড ডিভাইসে প্রোগ্রাম্যাটিক্যালি WiFi অন/অফ করার পদ্ধতি অ্যান্ড্রয়েড ডিভাইসে প্রোগ্রাম্যাটিক্যালি WiFi অন/অফ করার পদ্ধতি
  1. অ্যান্ড্রয়েডে প্রোগ্রাম্যাটিক্যালি ফ্ল্যাশলাইট অন/অফ করার পদ্ধতি

  2. অ্যান্ড্রয়েড ডিভাইসকে একটি ওয়েব সার্ভারে রূপান্তর করুন

  3. অ্যান্ড্রয়েড ফোনকে WiFi এক্সটেন্ডার বানানোর পদ্ধতি

  4. অ্যান্ড্রয়েডে অটো-ওয়াইফাই বন্ধ করুন: ফোনকে স্বয়ংক্রিয়ভাবে রিকানেক্ট হতে রোকুন