परिचय
यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके कैसे जांचें कि Android एप्लिकेशन बैकग्राउंड में चल रहा है या नहीं।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।
चरण 2: activity_main.xml लेआउट जोड़ें
res/layout/activity_main.xml में निम्न कोड जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="70dp"
android:background="#008080"
android:padding="5dp"
android:text="TutorialsPoint"
android:textColor="#fff"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Checking if Android Application is running in Background"
android:textAlignment="center"
android:textColor="@android:color/holo_red_light"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
चरण 3: MainActivity.kt लागू करें
src/MainActivity.kt में निम्न कोड जोड़ें:
import android.app.ActivityManager
import android.app.ActivityManager.RunningAppProcessInfo
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
var appRunningBackground: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
val runningAppProcessInfo = RunningAppProcessInfo()
ActivityManager.getMyMemoryState(runningAppProcessInfo)
appRunningBackground = runningAppProcessInfo.importance != RunningAppProcessInfo.IMPORTANCE_FOREGROUND
if (appRunningBackground) {
Toast.makeText(applicationContext, "Your Android Application is Running in Background", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(applicationContext, "Your Android Application is not Running in Background", Toast.LENGTH_SHORT).show()
}
}
override fun onPause() {
super.onPause()
Toast.makeText(applicationContext, "Your Android Application is Running in Background", Toast.LENGTH_SHORT).show()
}
}
चरण 4: AndroidManifest.xml कॉन्फ़िगर करें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.q11">
<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 में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और डिफ़ॉल्ट स्क्रीन देखें।
नोट: आधुनिक Android (API 26+) में,ActivityManager.getMyMemoryState()औरRunningAppProcessInfoडिप्रिकेटेड हो सकते हैं। बैकग्राउंड/फोरग्राउंड स्थिति का पता लगाने के लिएProcessLifecycleOwner(Lifecycle लाइब्रेरी से) याActivityManager.getRunningAppProcesses()का उपयोग करने पर विचार करें।