অ্যান্ড্রয়েড অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলছে কিনা তা যাচাই করার পদ্ধতি
এই উদাহরণটি দেখায় কিভাবে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলছে কিনা তা প্রোগ্রাম্যাটিক্যালি যাচাই করা যায়। আমরা ActivityManager.RunningAppProcessInfo ক্লাস ব্যবহার করে অ্যাপ্লিকেশনের বর্তমান অবস্থা নির্ণয় করব।
প্রয়োজনীয় ধাপসমূহ
ধাপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project এ যান এবং প্রজেক্টের জন্য প্রয়োজনীয় বিবরণ পূরণ করুন।
ধাপ ২: লেআউট ফাইল সংশোধন করুন (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"
android:padding="4dp"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Android অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলছে কিনা তা যাচাই করা হচ্ছে"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
ধাপ ৩: MainActivity.java-তে লজিক যোগ করুন
import androidx.appcompat.app.AppCompatActivity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Boolean appRunningBackground;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivityManager.RunningAppProcessInfo runningAppProcessInfo = new ActivityManager.RunningAppProcessInfo();
ActivityManager.getMyMemoryState(runningAppProcessInfo);
// IMPORTANCE_FOREGROUND মানে অ্যাপ ফোরগ্রাউন্ডে চলছে
appRunningBackground = runningAppProcessInfo.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
if (appRunningBackground) {
Toast.makeText(getApplicationContext(), "আপনার Android অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলছে", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "আপনার Android অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলছে না", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onPause() {
super.onPause();
// অ্যাপ ব্যাকগ্রাউন্ডে গেলে onPause কল হয়
Toast.makeText(getApplicationContext(), "আপনার Android অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলছে", Toast.LENGTH_SHORT).show();
}
}
ধাপ ৪: AndroidManifest.xml আপডেট করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<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>
কোড ব্যাখ্যা
- ActivityManager.RunningAppProcessInfo: এই ক্লাসটি প্রক্রিয়ার তথ্য ধারণ করে, যার মধ্যে রয়েছে এর গুরুত্বের স্তর (importance level)।
- getMyMemoryState(): বর্তমান প্রক্রিয়ার মেমরি অবস্থা পেতে ব্যবহৃত হয়।
- IMPORTANCE_FOREGROUND: যদি অ্যাপ্লিকেশনটি ফোরগ্রাউন্ডে (ব্যবহারকারীর সামনে) চলছে, তবে এর মান হবে 100।
- onPause(): লাইফসাইকেল মেথড যা অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে যাওয়ার সাথে সাথে কল হয়।
অ্যাপ্লিকেশন চালানোর পদ্ধতি
আপনার Android ডিভাইস কম্পিউটারের সাথে USB-র মাধ্যমে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের activity ফাইল খুলে টুলবার থেকে Run আইকনে ক্লিক করুন। ডিভাইস সিলেক্ট করুন এবং আউটপুট দেখুন।
