मैंने कुछ एंड्रॉइड विज्ञापन नेटवर्क एसडीक्स में देखा कि वे BroadcastReceiver
को कोई इरादा फ़िल्टर नहीं घोषित कर रहे हैं। कुछ ऐसा:एंड्रॉइड ब्रॉडकास्ट रिसीवर बिना इरादे फ़िल्टर
<receiver android:name="com.example.SampleReceiver" />
मेरा अनुमान है कि ऐसा रिसीवर सभी संभावित घटनाओं को कैप्चर करेगा। तो मैं इसे अपने आप कर की कोशिश की और SampleReceiver
एक बना लिया है:
public class SampleReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
System.out.println("Event captured: " + intent.getAction());
}
}
मैं एप्लिकेशन लॉन्च करने के बाद, अपने फोन पर विभिन्न कार्रवाई करने से कुछ घटनाओं आग करने की कोशिश की और पाया है कि onReceive()
एक बार भी नहीं कहा गया था।
तो सवाल यह है कि - इस तरह के प्रसारण फ़िल्टर के बिना ब्रॉडकास्ट रिसीवर कैसे काम करता है? हो सकता है कि कोड के माध्यम से बनाए जाने वाले इरादे फ़िल्टर की आवश्यकता हो? यदि हां, तो कैसे? यदि नहीं, तो यह किसी भी घटना क्यों नहीं प्राप्त कर रहा है? यहाँ क्या चल रहा है?
आप महान रेटिंग लिखने अब :) – Jin35