How to get default phone IMEI in android?



This example demonstrate about How to get default phone IMEI in android.

Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.

Step 2 − Add the following code to res/layout/activity_main.xml.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:gravity="center"    android:layout_height="match_parent"    tools:context=".MainActivity"    android:orientation="vertical">    <TextView       android:id="@+id/text"       android:textSize="30sp"       android:layout_width="wrap_content"       android:layout_height="wrap_content" /> </LinearLayout>

In the above code, we have taken a text view to show phone IMEI.

Step 3 − Add the following code to java/MainActivity.xml

package com.example.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.NonNull; 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 {    private static final int PERMISSION_REQUEST_CODE = 100;    TextView textView;    TelephonyManager telephonyManager;    @RequiresApi(api = Build.VERSION_CODES.P)    @Override    protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_main);       textView = findViewById(R.id.text);       telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);       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) {          ActivityCompat.requestPermissions(this, new String[]{READ_SMS, READ_PHONE_NUMBERS, READ_PHONE_STATE}, PERMISSION_REQUEST_CODE);       } else {          textView.setText(""+telephonyManager.getImei());       }    }    @RequiresApi(api = Build.VERSION_CODES.P)    @Override    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {       super.onRequestPermissionsResult(requestCode, permissions, grantResults);       switch (requestCode) {          case PERMISSION_REQUEST_CODE:             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;             } else {                textView.setText(""+telephonyManager.getImei());             }       }    } }

Step 3 − Add the following code toAndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapplication">    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <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>

Click here to download the project code

Updated on: 2019-07-30T22:30:25+05:30

579 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements