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

मैं एक एंड्रॉइड सेवा कैसे बना सकता हूं जिसे दल्विक मार नहीं पाएगा?

<घंटा/>

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

यह उदाहरण इस बारे में प्रदर्शित करता है कि मैं एक एंड्रॉइड सेवा कैसे बना सकता हूं जिसे दल्विक मार नहीं पाएगा।

चरण 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.annotation.SuppressLint;import android.annotation.TargetApi;import android.app.Notification;import android.app.NotificationChannel;import android.app.NotificationManager;import android. app.PendingIntent;import android.app.Service;import android.content.Context;import android.content.Intent;import android.graphics.Color;import android.media.MediaPlayer;import android.os.Build;import android.os .IBinder;import android.os.PowerManager;import android.support.annotation.RequiresApi;import android.support.v4.app.NotificationCompat;import android.util.Log;import android.widget.Toast;पब्लिक क्लास सर्विस सर्विस का विस्तार करती है { पावर मैनेजर दोपहर; @SuppressLint("InvalidWakeLockTag") PowerManager.WakeLock wl; @Override सार्वजनिक IBinder onBind (इरादा इरादा) {वापसी शून्य; } @SuppressLint("InvalidWakeLockTag") @Override public void onCreate() {super.onCreate(); अपराह्न =(पावरमैनेजर) getSystemService (संदर्भ.POWER_SERVICE); wl =pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "माई टैग"); } @TargetApi(Build.VERSION_CODES.O) @RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override public int onStartCommand(Intent Int, int flags, int startId) { wl.acquire(); // कुछ कार्य करें Toast.makeText (यह, "उपयोगकर्ता द्वारा शुरू की गई अधिसूचना सेवा।", Toast.LENGTH_LONG)। शो (); वापसी START_STICKY; } @RequiresApi(api =Build.VERSION_CODES.N) @Override public void onDestroy() {super.onDestroy(); डब्लूएल.रिलीज (); Toast.makeText (यह, "उपयोगकर्ता द्वारा नष्ट की गई अधिसूचना सेवा।", Toast.LENGTH_LONG)। शो (); }}

उपरोक्त कोड में हमने स्क्रीन लॉक को रोकने के लिए पावर मैनेजर को बुलाया है ताकि एंड्रॉइड थ्रेड सेवा थ्रेड को बंद न करे जैसा कि नीचे दिखाया गया है -

@SuppressLint("InvalidWakeLockTag")@Overridepublic void onCreate() {super.onCreate(); अपराह्न =(पावरमैनेजर) getSystemService (संदर्भ.POWER_SERVICE); wl =pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");}@TargetApi(Build.VERSION_CODES.O)@RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN)@Overridepublic int onStartCommand(Intent, Int, ) { wl.acquire (); // कुछ कार्य करें Toast.makeText (यह, "उपयोगकर्ता द्वारा शुरू की गई अधिसूचना सेवा।", Toast.LENGTH_LONG)। शो (); वापसी START_STICKY;}@RequiresApi(api =Build.VERSION_CODES.N)@Overridepublic void onDestroy() { super.onDestroy(); डब्लूएल.रिलीज (); Toast.makeText(यह, "उपयोगकर्ता द्वारा नष्ट की गई अधिसूचना सेवा।", Toast.LENGTH_LONG).show();}

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

 <उपयोग-अनुमति एंड्रॉइड:नाम ="android.permission.WAKE_LOCK"/> "एंड्रॉइड:राउंडआईकॉन =" @ मिपमैप / आईसी_लॉन्चर_राउंड "एंड्रॉइड:सपोर्ट आरटीएल ="ट्रू" एंड्रॉइड:थीम ="@ स्टाइल / ऐपथीम"> <गतिविधि एंड्रॉइड:नाम ="। मेनएक्टिविटी"> <इरादा-फिल्टर> <कार्रवाई एंड्रॉइड:नाम ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" />    

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

मैं एक एंड्रॉइड सेवा कैसे बना सकता हूं जिसे दल्विक मार नहीं पाएगा?

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

मैं एक एंड्रॉइड सेवा कैसे बना सकता हूं जिसे दल्विक मार नहीं पाएगा?

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

मैं एक एंड्रॉइड सेवा कैसे बना सकता हूं जिसे दल्विक मार नहीं पाएगा?


  1. एंड्रॉइड पर टेक्स्ट फ़ाइल कैसे बनाएं और उस फ़ाइल में डेटा कैसे डालें?

    यह उदाहरण दर्शाता है कि Android पर टेक्स्ट फ़ाइल कैसे बनाई जाती है और उस फ़ाइल में डेटा कैसे डाला जाता है। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml म

  1. एंड्रॉइड में अलार्म मैनेजर का उपयोग करके सेवा कैसे शुरू करें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में अलार्म मैनेजर का उपयोग करके एक सेवा कैसे शुरू करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

  1. एक मजबूत पासवर्ड कैसे बनाएं जिसे आप भूल नहीं पाएंगे

    सबसे अच्छा पासवर्ड वह है जिसे क्रैक करना मुश्किल और याद रखने में आसान हो। फिर भी, सबसे अधिक उपयोग किए जाने वाले कुछ पासवर्ड हास्यास्पद रूप से अनुमान लगाने में आसान होते हैं, जैसे पासवर्ड या 123456। ऐसे पासवर्ड आपको पासवर्ड स्प्रेइंग और अन्य प्रकार की हैकिंग का शिकार बना सकते हैं। उनका उपयोग न करें!