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

অ্যান্ড্রয়েডে ফোন নম্বর কীভাবে পাবেন?

এই উদাহরণটি দেখায় কীভাবে অ্যান্ড্রয়েডে ডিভাইসের ফোন নম্বর প্রাপ্ত করা যায়।

প্রয়োজনীয় ধাপসমূহ

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

Android Studio-তে File → New Project এ যান এবং প্রজেক্ট তৈরি করার জন্য প্রয়োজনীয় তথ্য পূরণ করুন।

ধাপ ২: লেআউট ফাইলে TextView যোগ করুন (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/phoneNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="phone number"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

উপরের কোডে একটি TextView নেওয়া হয়েছে। ব্যবহারকারী যখন অ্যাপ্লিকেশন খুলবে, ফোন নম্বর TextView-এ দেখানো হবে।

ধাপ ৩: MainActivity.java-এ পারমিশন হ্যান্ডলিং এবং ফোন নম্বর রিড করার লজিক বাস্তবায়ন করুন

package com.example.andy.myapplication;

import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.telephony.TelephonyManager;
import android.widget.TextView;

import static android.Manifest.permission.READ_PHONE_NUMBERS;
import static android.Manifest.permission.READ_PHONE_STATE;
import static android.Manifest.permission.READ_SMS;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        textView = findViewById(R.id.phoneNumber);
        
        // রানটাইম পারমিশন চেক
        if (ActivityCompat.checkSelfPermission(this, READ_SMS) == PackageManager.PERMISSION_GRANTED &&
            ActivityCompat.checkSelfPermission(this, READ_PHONE_NUMBERS) == PackageManager.PERMISSION_GRANTED &&
            ActivityCompat.checkSelfPermission(this, READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
            
            TelephonyManager tMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
            String mPhoneNumber = tMgr.getLine1Number();
            textView.setText(mPhoneNumber);
            return;
        } else {
            requestPermission();
        }
    }

    private void requestPermission() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            requestPermissions(new String[]{READ_SMS, READ_PHONE_NUMBERS, READ_PHONE_STATE}, 100);
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        switch (requestCode) {
            case 100:
                TelephonyManager tMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
                
                if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED &&
                    ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED &&
                    ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
                    return;
                }
                
                String mPhoneNumber = tMgr.getLine1Number();
                textView.setText(mPhoneNumber);
                break;
        }
    }
}

গুরুত্বপূর্ণ নোট

  • Android 6.0 (API 23) বা তার উপরে রানটাইম পারমিশন প্রয়োজন
  • AndroidManifest.xml-এ নিম্নলিখিত পারমিশনগুলো যোগ করুন:
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
    <uses-permission android:name="android.permission.READ_SMS" />
  • getLine1Number() সব ডিভাইস/ক্যারিয়ারে কাজ নাও করতে পারে (সিম কার্ডের উপর নির্ভরশীল)

অ্যাপ্লিকেশন চালান

আপনার অ্যান্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের অ্যাক্টিভিটি ফাইল খুলুন এবং টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং আউটপুট দেখুন।

অ্যান্ড্রয়েডে ফোন নম্বর কীভাবে পাবেন?

যখন ব্যবহারকারী অ্যাপ্লিকেশনে প্রবেশ করবে, রানটাইম পারমিশন চাওয়া হবে। সব পারমিশন অনুমতি দিলে ফোন নম্বর দেখানো হবে।

  1. বিবেচনাশীল কলার আইডি: অ্যান্ড্রয়েডে ফোন নম্বর লুকাতে কীভাবে

  2. Android-এ ফোন নম্বর আনব্লক করার ধাপে ধাপে গাইড

  3. অ্যান্ড্রয়েডে আপনার ফোন নম্বর দ্রুত খুঁজে বের করুন - ধাপে ধাপে গাইড

  4. নিরাপদে আপনার অ্যান্ড্রয়েড ফোন রুট করুন: একটি جامع, ধাপে ধাপ গাইড