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

Android-এ রানটাইমে পারমিশন চেক ও অনুরোধ করার পদ্ধতি


রানটাইম পারমিশন হ্যান্ডলিং উদাহরণ

Android 6.0 (API 23)以降, খারাপ পারমিশন (`dangerous permissions`) রানটাইমে ব্যবহারকারীর কাছ থেকে চাইতে হয়। এই উদাহরণটি দেখায় কিভাবে `ActivityCompat.requestPermissions()` ব্যবহার করে পারমিশন চেক ও অনুরোধ করা যায়।

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

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

ধাপ ২: লেআউট XML-এ কোড যোগ করুন

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:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="রানটাইমে পারমিশন দিন..."
        android:textSize="16sp"
        android:textStyle="bold"/>

</RelativeLayout>

ধাপ ৩: MainActivity.java-এ পারমিশন লজিক লিখুন

src/MainActivity.java ফাইলে নিচের কোডটি যোগ করুন:

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private static final int REQUEST_PERMISSION_CODE = 101;

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

        // Android 8.0 (API 26)以降 ANSWER_PHONE_CALLS পারমিশন চেক করুন
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ANSWER_PHONE_CALLS)
                    != PackageManager.PERMISSION_GRANTED) {

                ActivityCompat.requestPermissions(this,
                        new String[]{Manifest.permission.ANSWER_PHONE_CALLS},
                        REQUEST_PERMISSION_CODE);
            }
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                           @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == REQUEST_PERMISSION_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(this, "পারমিশন দেওয়া হয়েছে", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(this, "পারমিশন অস্বীকৃত হয়েছে", Toast.LENGTH_SHORT).show();
            }
        }
    }
}

ধাপ ৪: AndroidManifest.xml-এ পারমিশন ডিক্লেয়ার করুন

androidManifest.xml ফাইলে নিচের পারমিশন যোগ করুন:

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

    <uses-permission android:name="android.permission.ANSWER_PHONE_CALLS"/>

    <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 ডিভাইস কম্পিউটারের সাথে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের activity ফাইল খুলে টুলবারের Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস সিলেক্ট করুন এবং পারমিশন ডায়ালগে "-Allow" বা "Deny" চাপুন।

Android-এ রানটাইমে পারমিশন চেক ও অনুরোধ করার পদ্ধতি

Android-এ রানটাইমে পারমিশন চেক ও অনুরোধ করার পদ্ধতি

  1. অ্যান্ড্রয়েডে EditText খালি কিনা চেক করার পদ্ধতি

  2. অ্যান্ড্রয়েড সিস্টেম ভার্সন চেক করার পদ্ধতি

  3. অ্যান্ড্রয়েডে স্ক্রিন টাইম চেক করার পদ্ধতি

  4. আপনার অ্যান্ড্রয়েড ব্যাটারি স্বাস্থ্য যাচাই করুন: ধাপে ধাপ গাইড