Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में फोन नंबर कैसे प्राप्त करें?

एंड्रॉइड में फोन नंबर प्राप्त करना

यह ट्यूटोरियल दिखाता है कि रनटाइम अनुमतियों के साथ TelephonyManager का उपयोग करके डिवाइस का फोन नंबर कैसे प्राप्त किया जाए।

आवश्यक अनुमतियां

AndroidManifest.xml में जोड़ें:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
<!-- एंड्रॉइड 10+ के लिए -->
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" 
    tools:ignore="ProtectedPermissions" />

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: लेआउट फ़ाइल (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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/tvPhoneNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="फोन नंबर लोड हो रहा है..."
        android:textSize="20sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

चरण 3: MainActivity.java

package com.example.phonenumberdemo;

import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

public class MainActivity extends AppCompatActivity {

    private static final int PERMISSION_REQUEST_CODE = 100;
    private TextView tvPhoneNumber;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tvPhoneNumber = findViewById(R.id.tvPhoneNumber);
        checkPermissionsAndGetNumber();
    }

    private void checkPermissionsAndGetNumber() {
        String[] permissions = {
            Manifest.permission.READ_PHONE_STATE,
            Manifest.permission.READ_PHONE_NUMBERS
        };

        // अनुमतियां जांचें
        boolean allGranted = true;
        for (String permission : permissions) {
            if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
                allGranted = false;
                break;
            }
        }

        if (allGranted) {
            getPhoneNumber();
        } else {
            ActivityCompat.requestPermissions(this, permissions, PERMISSION_REQUEST_CODE);
        }
    }

    private void getPhoneNumber() {
        TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
            String phoneNumber = telephonyManager.getLine1Number();
            
            if (phoneNumber != null && !phoneNumber.isEmpty()) {
                tvPhoneNumber.setText("फोन नंबर: " + phoneNumber);
            } else {
                tvPhoneNumber.setText("फोन नंबर उपलब्ध नहीं\n(सिम कार्ड नंबर संग्रहीत नहीं कर सकता)");
            }
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        
        if (requestCode == PERMISSION_REQUEST_CODE) {
            boolean allGranted = true;
            for (int result : grantResults) {
                if (result != PackageManager.PERMISSION_GRANTED) {
                    allGranted = false;
                    break;
                }
            }
            
            if (allGranted) {
                getPhoneNumber();
            } else {
                tvPhoneNumber.setText("अनुमति अस्वीकृत - फोन नंबर नहीं पढ़ सकते");
                Toast.makeText(this, "फोन नंबर के लिए अनुमति आवश्यक है", Toast.LENGTH_LONG).show();
            }
        }
    }
}

महत्वपूर्ण नोट्स

  • सिम सीमा: कई कैरियर सिम कार्ड पर फोन नंबर संग्रहीत नहीं करते, इसलिए getLine1Number() खाली लौट सकता है
  • एंड्रॉइड 10+: विशेषाधिकार प्राप्त फोन स्थिति अनुमति की आवश्यकता होती है
  • गोपनीयता: संवेदनशील डेटा एक्सेस करने से पहले हमेशा अनुमति मांगें
  • वैकल्पिक: उपयोगकर्ता इनपुट या SMS वेरिफिकेशन के लिए SMS Retriever API का उपयोग करें

ऐप चलाएं

ऐप अनुमति मांगेगा। अनुमति दें, और यह फोन नंबर प्रदर्शित करेगा या बताएगा कि यह उपलब्ध नहीं है।

एंड्रॉइड में फोन नंबर कैसे प्राप्त करें?
  1. Android पर फ़ोन नंबर अनब्लॉक करने की चरण-दर-चरण गाइड Android पर फ़ोन नंबर अनब्लॉक करने की चरण-दर-चरण गाइड

    हम सभी के जीवन में कोई न कोई ऐसा व्यक्ति होता है जिसे हमने ब्लॉक किया हो। चाहे वह कोई अनजान अजनबी हो या पुराना परिचित जो बुरा बन गया हो। यह असामान्य नहीं है, और कॉन्टैक्ट्स ब्लॉक करने की क्षमता के लिए धन्यवाद, हम शांति से रह सकते हैं। जब आप Android पर किसी फ़ोन नंबर को ब्लॉक करते हैं, तो आपको उस नं

  1. एंड्रॉइड पर अपना फोन नंबर जल्दी खोजें - चरण-दर-चरण गाइड एंड्रॉइड पर अपना फोन नंबर जल्दी खोजें - चरण-दर-चरण गाइड

    यदि आपने हाल ही में एक नया फोन खरीदा है, या एक नया सिम कार्ड मिला है, तो आपको शायद अपना फोन नंबर खोजने में मदद की आवश्यकता है। आप निश्चित रूप से घबराहट में नहीं पड़ना चाहते जब आपका दोस्त या नियोक्ता आपसे आपका फोन नंबर मांगता है। एंड्रॉइड पर अपना खुद का फोन नंबर ढूंढना उतना मुश्किल नहीं है जितना यह

  1. Android फोन को सुरक्षित रूप से रूट करें: व्यापक चरण-दर-चरण गाइड Android फोन को सुरक्षित रूप से रूट करें: व्यापक चरण-दर-चरण गाइड

    हालांकि Android यूजर को कस्टमाइज और मॉडिफाई करने की क्षमता के मामले में बहुत आजादी देता है, लेकिन इसकी निश्चित रूप से सीमाएं रही हैं। उदाहरण के लिए, सिस्टम ऐप्स ऐसी चीज हैं जिन पर आपका ज्यादा कंट्रोल नहीं होता। आप उन्हें अनइंस्टॉल नहीं कर सकते या उन्हें बैकग्राउंड में चलने से नहीं रोक सकते। असली पाव