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

অ্যান্ড্রয়েডে ডিভাইস ফোন নাকি ট্যাবলেট সেটা ডিটেক্ট করা

TelephonyManager ব্যবহার করে ডিভাইস টাইপ (ফোন/ট্যাবলেট) শনাক্ত করা

এই উদাহরণটি দেখাবে কীভাবে TelephonyManager.getPhoneType() ব্যবহার করে ডিভাইসটি ফোন নাকি ট্যাবলেট তা নির্ধারণ করা যায়।

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

Android Studio-তে File → New Project নির্বাচন করুন।

ধাপ ২: লেআউট (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:text="Detect device is Android phone or Android tablet"
        android:textAlignment="center"
        android:textSize="24sp"
        android:textStyle="bold" />

</RelativeLayout>

ধাপ ৩: মেইন এক্টিভিটি (src/MainActivity.java)

import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.Toast;
import java.util.Objects;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TelephonyManager manager = (TelephonyManager) getApplicationContext()
                .getSystemService(Context.TELEPHONY_SERVICE);

        if (Objects.requireNonNull(manager).getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
            Toast.makeText(MainActivity.this, "Detected... You're using a Tablet", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "Detected... You're using a Mobile Phone", Toast.LENGTH_SHORT).show();
        }
    }
}

ধাপ ৪: মেনিফেস্ট (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>

বিকল্প ও উন্নত পদ্ধতি

TelephonyManager সব সময় নির্ভরযোগ্য নয় (কিছু ফোনে সিম নাও থাকলে PHONE_TYPE_NONE দিতে পারে)। আরও ভালো পদ্ধতি:

// স্ক্রিন সাইজ ভিত্তিক
Configuration cfg = getResources().getConfiguration();
int screenLayout = cfg.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
boolean isTablet = (screenLayout == Configuration.SCREENLAYOUT_SIZE_LARGE ||
                    screenLayout == Configuration.SCREENLAYOUT_SIZE_XLARGE);

// বা WindowManager-এ
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float widthDp = metrics.widthPixels / metrics.density;
float heightDp = metrics.heightPixels / metrics.density;
float smallestWidth = Math.min(widthDp, heightDp);
boolean isTablet = smallestWidth >= 600; // 600dp+ = ট্যাবলেট

ফলাফল

ফোনে চালালে "Mobile Phone", ট্যাবলেটে চালালে "Tablet" টোস্ট দেখাবে।

অ্যান্ড্রয়েডে ডিভাইস ফোন নাকি ট্যাবলেট সেটা ডিটেক্ট করা

  1. এন্ড্রয়েড ফোন বা ট্যাবলেটে ক্যাশে পার্টিশন ওয়ার্প করার পদ্ধতি

  2. Android ফোন ফ্যাক্টরি রিসেট করার সহজ গাইড

  3. অ্যান্ড্রয়েড ফোন রিমোট কন্ট্রোল: পিসি বা অন্য অ্যান্ড্রয়েড থেকে ডিভাইস ম্যানেজ করুন

  4. আপনার অ্যান্ড্রয়েড ফোন বা ট্যাবলেট টিভিতে সংযোগ করুন: সহজ ধাপ এবং সেরা পদ্ধতিসমূহ