কম্পিউটার

অ্যান্ড্রয়েডে মোবাইল ডেটা কীভাবে নিষ্ক্রিয় করবেন?


এই উদাহরণটি দেখায় কিভাবে আমি Android-এ মোবাইল ডেটা অক্ষম করব৷

আপনার অনুসন্ধানের তথ্যের জন্য, আপনার কাছে রুটেড ফোন না থাকলে আমি মনে করি না আপনি প্রোগ্রামগতভাবে ডেটা সক্ষম এবং নিষ্ক্রিয় করতে পারবেন কারণ এটি করার জন্য আমাদের MODIFY_PHONE_STATE অনুমতি অন্তর্ভুক্ত করতে হবে যা শুধুমাত্র সিস্টেম বা স্বাক্ষর অ্যাপ্লিকেশনগুলিতে দেওয়া হয়৷

setMobileDataEnabled() পদ্ধতি প্রতিফলনের মাধ্যমে আর কলযোগ্য নয়। এটি প্রতিফলনের মাধ্যমে Android 2.1 (API 7) থেকে Android 4.4 (API 19) থেকে কলযোগ্য ছিল, কিন্তু Android 5.0 এবং পরবর্তীতে, এমনকি রুট করা ফোনগুলির সাথেও, setMobileDataEnabled() পদ্ধতিটি কলযোগ্য নয়৷

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?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:orientation="vertical"
   android:padding="16dp"
   tools:context=".MainActivity">
   <Switch
      android:id="@+id/switchData"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="Mobile Data" />
</LinearLayout>

ধাপ 3 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.CompoundButton;
import android.widget.Switch;
import java.lang.reflect.Method;
import java.util.Objects;
public class MainActivity extends AppCompatActivity {
   Switch mySwitch;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      mySwitch = findViewById(R.id.switchData);
      mySwitch.setChecked(getMobileDataState());
      mySwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
         @Override
         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            setMobileDataState(isChecked);
         }
      });
   }
   public void setMobileDataState(boolean mobileDataEnabled) {
      try {
         TelephonyManager telephonyService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
         Method setMobileDataEnabledMethod = Objects.requireNonNull(telephonyService).getClass().getDeclaredMethod("setDataEnabled", boolean.class);
         setMobileDataEnabledMethod.invoke(telephonyService, mobileDataEnabled);
      } catch (Exception ex) {
         Log.e("MainActivity", "Error setting mobile data state", ex);
      }
   }
   public boolean getMobileDataState() {
      try {
         TelephonyManager telephonyService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
         Method getMobileDataEnabledMethod = Objects.requireNonNull(telephonyService).getClass().getDeclaredMethod("getDataEnabled");
         return (boolean) (Boolean) getMobileDataEnabledMethod.invoke(telephonyService);
      } catch (Exception ex) {
         Log.e("MainActivity", "Error getting mobile data state", ex);
      }
      return false;
   }
}

পদক্ষেপ 4৷ − androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -

অ্যান্ড্রয়েডে মোবাইল ডেটা কীভাবে নিষ্ক্রিয় করবেন?


  1. অ্যান্ড্রয়েডে গিয়ার ভিআর পরিষেবা কীভাবে অক্ষম করবেন

  2. অ্যান্ড্রয়েডে ডেটা কীভাবে বাঁধবেন

  3. Android-এ কিভাবে স্বয়ংক্রিয় সংশোধন নিষ্ক্রিয় করবেন

  4. অ্যান্ড্রয়েডে মোবাইল ডেটা সংক্রান্ত সমস্যাগুলি কীভাবে ঠিক করবেন