Android ऐप फोरग्राउंड/बैकग्राउंड स्टेट चेक करना
ऐसी कई स्थितियां हैं जहां हमें पता लगाना चाहिए कि Android एप्लिकेशन बैकग्राउंड में चल रहा है या नहीं। यह उदाहरण दर्शाता है कि Android एप्लिकेशन बैकग्राउंड में चल रहा है या नहीं, इसकी जांच कैसे करें।
चरण 1 - नया प्रोजेक्ट बनाएं
Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - activity_main.xml लेआउट
res/layout/activity_main.xml में निम्न कोड जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/parent"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:gravity="center"
android:background="#33FFFF00"
android:orientation="vertical">
<TextView
android:id="@+id/text"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
उपरोक्त लेआउट में, इसमें टेक्स्ट व्यू है। जब एप्लिकेशन फोरग्राउंड मोड में होता है, तो यह टेक्स्ट व्यू दिखाता है अन्यथा आपको लॉग में जानकारी मिलेगी।
चरण 3 - MainActivity.java
src/MainActivity.java में निम्न कोड जोड़ें:
package com.example.andy.myapplication;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
int view = R.layout.activity_main;
TextView textView;
Boolean isInBackground;
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(view);
final LinearLayout parent = findViewById(R.id.parent);
textView = findViewById(R.id.text);
ActivityManager.RunningAppProcessInfo myProcess = new ActivityManager.RunningAppProcessInfo();
ActivityManager.getMyMemoryState(myProcess);
isInBackground = myProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
if (isInBackground) {
Log.d("Tutorialspoint.com", "आपका एप्लिकेशन बैकग्राउंड स्टेट में है");
} else {
textView.setText("एप्लिकेशन फोरग्राउंड स्टेट में है");
}
}
}
उपरोक्त कोड में, हमने ActivityManager.RunningAppProcessInfo का उपयोग किया है, इसमें एप्लिकेशन प्रोसेस जानकारी होती है। उस जानकारी से, हमें नीचे दिखाए अनुसार स्टेट ढूंढना होगा:
ActivityManager.RunningAppProcessInfo myProcess = new ActivityManager.RunningAppProcessInfo();
ActivityManager.getMyMemoryState(myProcess);
isInBackground = myProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
if (isInBackground) {
Log.d("Tutorialspoint.com", "आपका एप्लिकेशन बैकग्राउंड स्टेट में है");
} else {
textView.setText("एप्लिकेशन फोरग्राउंड स्टेट में है");
}
आइए अपने एप्लिकेशन को चलाने का प्रयास करें। मान लें कि आपने अपने वास्तविक Android मोबाइल डिवाइस को कंप्यूटर से जोड़ा है। Android Studio से ऐप चलाने के लिए, अपनी प्रोजेक्ट की एक्टिविटी फ़ाइलों में से एक खोलें और टूलबार से Run आइकन पर क्लिक करें। विकल्प के रूप में अपना मोबाइल डिवाइस चुनें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

उपरोक्त परिणाम में, एप्लिकेशन फोरग्राउंड स्टेट में है। अब एप्लिकेशन को मिनिमाइज़ करें और लॉगकैट चेक करें:

अब यह दिखाता है कि एप्लिकेशन बैकग्राउंड स्टेट में है।