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

অ্যান্ড্রয়েড ডিভাইসের ফিঙ্গারপ্রিন্ট তথ্য প্রোগ্রাম্যাটিকভাবে কীভাবে পেতে হয়?

অ্যান্ড্রয়েডে ডিভাইসের ফিঙ্গারপ্রিন্ট (Build.FINGERPRINT) প্রোগ্রাম্যাটিকভাবে প্রাপ্ত করার উদাহরণ

এই টিউটোরিয়ালটি দেখাবে কীভাবে আপনি অ্যান্ড্রয়েড অ্যাপ্লিকেশনে Build.FINGERPRINT ব্যবহার করে ডিভাইসের বিল্ড ফিঙ্গারপ্রিন্ট তথ্য প্রোগ্রাম্যাটিকভাবে পেতে পারেন।

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

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

ধাপ ২: লেআউট XML ফাইল সংশোধন করুন

res/layout/activity_main.xml ফাইলে নিচের কোডটি যোগ করুন। এখানে একটি TextView ব্যবহার করা হয়েছে ফিঙ্গারপ্রিন্ট তথ্য প্রদর্শনের জন্য।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

ধাপ ৩: MainActivity.java ফাইলে কোড যোগ করুন

src/MainActivity.java ফাইলে নিচের কোডটি লিখুন। Build.FINGERPRINT একটি স্ট্রিং যা ডিভাইসের বিল্ড সম্পর্কে বিস্তারিত তথ্য ধারণ করে।

package com.example.myapplication;

import android.Manifest;
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.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;

    @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);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 101);
        }
    }

    @RequiresApi(api = Build.VERSION_CODES.O)
    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        switch (requestCode) {
            case 101:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
                        textView.setText(Build.FINGERPRINT);
                    }
                }
                break;
            default:
                super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }

    @RequiresApi(api = Build.VERSION_CODES.O)
    @Override
    protected void onResume() {
        super.onResume();
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
            textView.setText(Build.FINGERPRINT);
        }
    }
}

ধাপ ৪: AndroidManifest.xml-এ পারমিশন যোগ করুন

AndroidManifest.xml ফাইলে ইন্টারনেট এবং READ_PHONE_STATE পারমিশন ডিক্লেয়ার করুন।

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET"/>
    <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>

অ্যাপ্লিকেশন চালানোর পদ্ধতি

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

অ্যান্ড্রয়েড ডিভাইসের ফিঙ্গারপ্রিন্ট তথ্য প্রোগ্রাম্যাটিকভাবে কীভাবে পেতে হয়?

  1. এন্ড্রয়েডে রুট ডিরেক্টরি ইনফরমেশন পাওয়ার উপায়

  2. অ্যান্ড্রয়েডে থ্রেড গ্রুপের তথ্য পাওয়ার পদ্ধতি

  3. এন্ড্রয়েডে প্রোগ্রামেটিক্যালি ডিভাইসের IP ঠিকানা পাওয়ার পদ্ধতি

  4. অ্যান্ড্রয়েডে প্রোগ্রাম্যাটিক্যালি ডিভাইসের IMEI/ESN নম্বর পাওয়ার পদ্ধতি