Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

कैसे जांचें कि एंड्रॉइड पर कोई सेवा चल रही है या नहीं?

<घंटा/>

उदाहरण में आने से पहले, हमें पता होना चाहिए कि android में service क्या है। सेवा यूआई के साथ बातचीत किए बिना बैक ग्राउंड ऑपरेशन करने जा रही है और यह गतिविधि नष्ट होने के बाद भी काम करती है।

यह उदाहरण दिखाता है कि कैसे जांचें कि कोई सेवा Android पर चल रही है या नहीं।

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

 <टेक्स्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / टेक्स्ट" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट ="स्टार्ट सर्विस" एंड्रॉइड:टेक्स्टसाइज =" 25sp" ऐप:layout_constraintBottom_toBottomOf ="पैरेंट" ऐप:layout_constraintLeft_toLeftOf ="पैरेंट" ऐप:layout_constraintRight_toRightOf ="पैरेंट" ऐप:layout_constraintTop_toTopOf ="parent" />
 उपरोक्त कोड में, हमने टेक्स्ट व्यू लिया है, जब उपयोगकर्ता टेक्स्ट व्यू पर क्लिक करता है, तो यह सेवा शुरू कर देगा और सेवा बंद कर देगा।

चरण 3 - निम्न कोड को src/MainActivity.java

में जोड़ें <पूर्व>पैकेज com.example.andy.myapplication;import android.app.ActivityManager;import android.content.Context;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle आयात android.util.Log; आयात android.view.View; आयात android.widget.TextView; सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {@Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); अंतिम टेक्स्ट व्यू टेक्स्ट =findViewById (R.id.text); text.setOnClickListener (नया दृश्य। OnClickListener () {@ ओवरराइड सार्वजनिक शून्य पर क्लिक करें (देखें v) {अगर (isMyServiceRunning (service.class)) {text.setText ("रोक दिया गया"); स्टॉप सर्विस (नया इरादा (मेनएक्टिविटी। यह, सेवा) .class)); } और {text.setText("Started"); startService(new Intent(MainActivity.this, service.class)); }}}); } निजी बूलियन isMyServiceRunning(Class serviceClass) { activityManager Manager =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service:manager.getRunningServices(Integer.MAX_VALUE)) {if (serviceClass.getName().equals(service.service.getClassName())) { return true; } } विवरण झूठा है; }}

उपरोक्त कोड में सेवा शुरू करने और रोकने के लिए। हमने आशय और पारित संदर्भ और सेवा वर्ग का उपयोग किया है। अब पैकेज फोल्डर में service.class के रूप में एक सर्विस क्लास बनाएं और निम्न कोड जोड़ें -

पैकेज com.example.andy.myapplication;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.widget.Toast;पब्लिक क्लास सर्विस सर्विस का विस्तार करती है { @Override public IBinder ऑनबाइंड (इरादा इरादा) {वापसी शून्य; } @ ओवरराइड पब्लिक इंट ऑनस्टार्ट कमांड (इरादा इरादा, इंट फ्लैग, इंट स्टार्ट आईडी) { Toast.makeText (यह, "उपयोगकर्ता द्वारा शुरू की गई सेवा।", टोस्ट। LENGTH_LONG)। शो (); वापसी START_STICKY; } @ ओवरराइड सार्वजनिक शून्य onDestroy() {super.onDestroy(); Toast.makeText (यह, "उपयोगकर्ता द्वारा नष्ट की गई सेवा।", Toast.LENGTH_LONG)। शो (); }} 

यह पहचानने के लिए कि सेवा काम कर रही है या नहीं, निम्नलिखित कोड का उपयोग करें-

ActivityManager Manager =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service:manager.getRunningServices(Integer.MAX_VALUE)) {if (serviceClass.getName().equals(service.service.getClassName()) )) {वापसी सच; }}झूठी वापसी;

उपरोक्त विधि को कॉल करने के लिए, निम्न कोड का उपयोग करें-

isMyServiceRunning(service.class)

चरण 4 - निम्नलिखित कोड को मेनिफेस्ट.एक्सएमएल में जोड़ें

 <एप्लिकेशन 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"> <गतिविधि android:name =".MainActivity">   <श्रेणी android:name ="android.intent.category.LAUNCHER" />    

आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -

कैसे जांचें कि एंड्रॉइड पर कोई सेवा चल रही है या नहीं?

उपरोक्त परिणाम में एक प्रारंभिक स्क्रीन है, टेक्स्ट व्यू पर क्लिक करें, यह नीचे दिखाए गए अनुसार सेवा शुरू कर देगा -

कैसे जांचें कि एंड्रॉइड पर कोई सेवा चल रही है या नहीं?

उपरोक्त परिणाम में, सेवा शुरू हो गई है अब टेक्स्ट व्यू पर क्लिक करें, यह नीचे दिखाए गए अनुसार सेवा बंद कर देगा -

कैसे जांचें कि एंड्रॉइड पर कोई सेवा चल रही है या नहीं?


  1. Android पर स्क्रीन टाइम कैसे चेक करें

    स्मार्टफोन हमारे जीवन का इतना बड़ा हिस्सा हैं, लेकिन यह ट्रैक करना आसान हो सकता है कि हम उन्हें देखने में कितना समय लगाते हैं। सौभाग्य से, आप डिजिटल वेलबीइंग ऐप के माध्यम से एंड्रॉइड में अपना स्क्रीन टाइम देख सकते हैं, जो आपके कुल फोन उपयोग और अलग-अलग ऐप में आपके द्वारा खर्च किए गए समय दोनों को ट्र

  1. Android पर बैटरी के स्वास्थ्य की जांच कैसे करें

    आसपास के अधिकांश आइटम कार्य करने के लिए किसी न किसी रूप में बैटरी का उपयोग करते हैं। मोबाइल फोन से लेकर रिमोट कंट्रोल तक बैटरी हमारे जीवन का एक अभिन्न अंग बन गई है, वे हर जगह हैं। जब मोबाइल की बात आती है तो उनकी लिथियम-आयन बैटरी लंबे समय तक इस्तेमाल के बाद खराब हो जाती है। बैटरी खराब होना अपरिहार्य

  1. Android पर गियर VR सेवा को अक्षम कैसे करें

    यदि आप पुराने मॉडल वाले सैमसंग फोन का उपयोग कर रहे हैं, तो आपने सैमसंग गियर वीआर सर्विस पर ध्यान दिया होगा। Android पर गियर VR सेवा क्या है, इस प्रश्न का सरल उत्तर यह है कि यह एक ऐसी सेवा है जो आपको VR हेडसेट का उपयोग करने देती है। सेवा का उपयोग करने में जो समस्या उत्पन्न होती है वह यह है कि यह भारी