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

অ্যান্ড্রয়েডে এক্টিভিটি স্ট্যাকের শীর্ষ এক্টিভিটির নাম কিভাবে পেতে হয়?


ওভারভিউ

এই উদাহরণটি দেখায় কিভাবে `ActivityManager` ব্যবহার করে এক্টিভিটি স্ট্যাকের শীর্ষে থাকা এক্টিভিটির নাম (top activity) পাওয়া যায়।

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

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

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

res/layout/activity_main.xml ফাইলে নিচের কোডটি যোগ করুন:

<?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"
    android:orientation="vertical">
    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

উপরের কোডে শীর্ষ এক্টিভিটির নাম দেখানোর জন্য TextView ব্যবহার করা হয়েছে।

ধাপ ৩: MainActivity.java-তে কোড যোগ করুন

package com.example.myapplication;

import android.app.ActivityManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.util.List;

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);
        ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        
        // নোট: getRunningTasks() API 21 (Lollipop) থেকে ডিপ্রিকেটড
        // আধুনিক অ্যান্ড্রয়েড সংস্করণে UsageStatsManager ব্যবহার করা উচিত
        List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
        
        if (!tasks.isEmpty()) {
            textView.setText("" + tasks.get(0).topActivity.toString());
        }
    }
}

গুরুত্বপূর্ণ সতর্কতা: `getRunningTasks()` মেথডটি Android 5.0 (API 21) থেকে ডিপ্রিকেটড এবং Android 10 (API 29) থেকে সীমাবদ্ধ। প্রোডাকশন অ্যাপের জন্য `UsageStatsManager` ব্যবহার করা উচিত।

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

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

অ্যান্ড্রয়েডে এক্টিভিটি স্ট্যাকের শীর্ষ এক্টিভিটির নাম কিভাবে পেতে হয়?

  1. এন্ড্রয়েডে বর্তমান ব্লুটুথ নাম পাওয়ার উপায়

  2. Android-এ Stack সর্ট (Sort) করার পদ্ধতি

  3. অ্যান্ড্রয়েডে বর্তমান থ্রেডের নাম পাওয়ার পদ্ধতি

  4. অ্যান্ড্রয়েডে রিসোর্স আইডি (Resource ID) দিয়ে রিসোর্স নাম পাওয়া