ऐसी बहुत सी स्थितियां हैं, कि हमें यह पता लगाना चाहिए कि एंड्रॉइड एप्लिकेशन बैकग्राउंड में चल रहा है या नहीं। यह उदाहरण दर्शाता है कि कैसे जांचा जाए कि कोई Android एप्लिकेशन पृष्ठभूमि पर चल रहा है या नहीं।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्नलिखित कोड को res/layout/activity_main.xml में जोड़ें।
<टेक्स्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / टेक्स्ट" एंड्रॉइड:टेक्स्ट साइज ="18 एसपी" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" />
उपरोक्त लेआउट में, इसमें टेक्स्ट व्यू होता है, जब एप्लिकेशन अग्रभूमि मोड में होता है, तो यह टेक्स्ट व्यू दिखाता है अन्यथा आपको लॉग में जानकारी मिल जाएगी।
चरण 3 - निम्न कोड को src/MainActivity.java
. में जोड़ें <पूर्व>पैकेज 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;सार्वजनिक वर्ग MainActivity AppCompatActivity {int view =R.layout.activity_main; टेक्स्ट व्यू टेक्स्ट व्यू; बूलियन इनबैकग्राउंड है; @RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); सेटकंटेंट व्यू (देखें); अंतिम रैखिक लेआउट माता-पिता =findViewById (R.id.parent); टेक्स्ट व्यू =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", "आपका आवेदन पृष्ठभूमि की स्थिति में है"); } और {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",,"Your application is in background State");}else{ textView.setText("आवेदन अग्रभूमि स्थिति में है");}पूर्व>आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
उपरोक्त परिणाम में, आवेदन अग्रभूमि स्थिति में है। अब एप्लिकेशन को छोटा करें और लॉग कैट की जांच करें जैसा कि नीचे दिखाया गया है -
अब यह दिखाता है कि एप्लिकेशन पृष्ठभूमि की स्थिति में है।