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

एंड्रॉइड में ब्रॉडकास्ट रिसीवर को कस्टम इंटेंट फ़िल्टर कैसे पंजीकृत करें?

<घंटा/>

उदाहरण में आने से पहले, हमें पता होना चाहिए कि एंड्रॉइड में इंटेंट फ़िल्टर क्या है। एक इंटेंट फ़िल्टर IntentFilter वर्ग का एक उदाहरण है। इंटेंट फिल्टर इंटेंट इंटेंट का उपयोग करते समय मददगार होते हैं, यह जावा कोड में हैंडल नहीं करने वाला है, हमें इसे AndroidManifest.xml में सेट करना होगा। एंड्रॉइड को पता होना चाहिए कि वह किस तरह का इरादा लॉन्च कर रहा है, इसलिए इंटेंट फिल्टर एंड्रॉइड को इरादे और कार्यों के बारे में जानकारी देते हैं।

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

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

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

 <बटन एंड्रॉइड:आईडी ="@ + आईडी / बटन" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट =" इंटेंट फ़िल्टर रजिस्टर बटन" /> <बटन android:id="@+id/buton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="send Data" /> 

उपरोक्त कोड में हमारे पास दो बटन हैं, एक इंटेंट रजिस्टर करने के लिए है और दूसरा प्रसारण के लिए डेटा भेजने के लिए है।

<पूर्व>पैकेज com.example.andy.myapplication;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android. support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.RadioButton;import android.widget.Toast;पब्लिक क्लास MainActivity AppCompatActivity { RadioButton का विस्तार करती है रेडियो की बटन; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); अंतिम बटन बटन =findViewById (R.id.buton); अंतिम बटन भेजें =findViewById (R.id.buton1); send.setOnClickListener (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {इंटेंट इंटेंट =नया इंटेंट ("com.example.andy.CUSTOM_INTENT"); भेजें ब्रॉडकास्ट (इरादा); }}); बटन.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) { रजिस्टर रिसीवर (एम मैसेज रिसीवर, नया इंटेंटफिल्टर ("com.example.andy.CUSTOM_INTENT")); }}); } निजी BroadcastReceiver mMessageReceiver =new BroadcastReceiver() {@Override public void onReceive(संदर्भ संदर्भ, आशय आशय) {// आशय स्ट्रिंग संदेश में शामिल डेटा निकालें =Intent.getAction (); Toast.makeText(MainActivity.this,message,Toast.LENGTH_LONG).show(); } }; @Override संरक्षित शून्य पर रोकें () {super.onPause (); अपंजीकृत रिसीवर (mMessageReceiver); }}

जब आप बटन पर क्लिक करते हैं तो यह कस्टम प्रसारण क्रिया का उपयोग करके रिसीवर को पंजीकृत करने जा रहा है जैसा कि नीचे दिखाया गया है -

registerReceiver(mMessageReceiver,new IntentFilter("com.example.andy.CUSTOM_INTENT"));

यह एक गतिशील प्रसारण रिसीवर है इसलिए हमें नीचे दिखाए गए अनुसार ऑन पॉज़ () को अपंजीकृत करना चाहिए-

अपंजीकृत रिसीवर(mMessageReceiver);

प्रसारण भेजने के लिए एक और बटन है। यह नीचे दिखाए गए अनुसार रिसीवर को पंजीकृत करने के लिए कार्रवाई और डेटा भेजने जा रहा है -

इरादा आशय=नया आशय("com.example.andy.CUSTOM_INTENT");sendBroadcast(intent);

यह गतिशील प्रसारण रजिस्टर है इसलिए हमें प्रसारण रिसीवर के लिए एक नई रिसीवर फ़ाइल बनाने की आवश्यकता नहीं है, इसलिए हमने उसी गतिविधि में प्रसारण रिसीवर घोषित किया है जैसा कि नीचे दिखाया गया है -

<पूर्व>निजी ब्रॉडकास्ट रिसीवर mMessageReceiver =नया BroadcastReceiver() {@Override public void onReceive(संदर्भ संदर्भ, आशय इरादा) {// इंटेंट स्ट्रिंग संदेश में शामिल डेटा निकालें =आशय। getAction (); Toast.makeText(MainActivity.this,message,Toast.LENGTH_LONG).show(); }};

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

एंड्रॉइड में ब्रॉडकास्ट रिसीवर को कस्टम इंटेंट फ़िल्टर कैसे पंजीकृत करें?

सबसे पहले हमने "इरादे फ़िल्टर रजिस्टर बटन" पर क्लिक करके एक रिसीवर पंजीकृत किया है और नीचे दिखाए गए अनुसार टोस्ट दिखाने के लिए डेटा भेजें पर क्लिक करें -

एंड्रॉइड में ब्रॉडकास्ट रिसीवर को कस्टम इंटेंट फ़िल्टर कैसे पंजीकृत करें?


  1. एंड्रॉइड में प्रोग्रामेटिक रूप से ब्रॉडकास्ट रिसीवर कैसे पंजीकृत करें?

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

  1. Android पर SearchView के साथ RecyclerView को कैसे फ़िल्टर करें?

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

  1. Android पर कस्टम जेस्चर कैसे जोड़ें

    अपने Android डिवाइस पर कस्टम जेस्चर बनाना आपके लिए समय बचाने का एक शानदार तरीका है। इन कस्टम जेस्चर को बनाकर, आप अपने डिवाइस को उन गतिविधियों का उपयोग करने के लिए कस्टमाइज़ कर सकते हैं जिनमें आप किसी विशेष कार्य को निष्पादित करने के लिए सबसे अधिक सहज हैं जैसे कि एक नया टैब खोलना। क्या यह अच्छा नहीं