मेरे पास एक बार उपयोग के लिए BroadcastReceiver
है।ऑनसीस में एंड्रॉइड ब्रॉडकास्ट रिसीवर को अनधिकृत करना "रिसीवर पंजीकृत नहीं है"
मैं इसे एक गतिविधि में पंजीकृत कर रहा हूं। मैं unregisterReceiver()
में नहीं डाल सकता क्योंकि गतिविधि को रोका या नष्ट होने पर भी इसे चलना पड़ता है।
मैं, BroadcastReceiver खुद का पंजीकरण रद्द करना जब यह किया जाता है चाहता हूँ कुछ इस तरह:
public class SmsReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
// do some code..
context.unregisterReceiver(this)
}
}
लेकिन यह एक अपवाद का कारण बनता है: Receiver not registered.
एक ब्रॉडकास्ट रिसीवर ऑब्जेक्ट एक ही कचरा संग्रह नियमों का पालन करता है जो किसी अन्य वस्तु के रूप में होता है। कोई विशेष "फेंकने वाला उदाहरण" नहीं है। 'On'eceive' में 'this' का संदर्भ देना उसी परिणाम को ऑब्जेक्ट बनाया गया था (इसे आज़माएं) से एक संदर्भ देता है। प्रलेखन रिसीवर की * प्रक्रिया * के बारे में बात कर रहा है * रिसीवर ऑब्जेक्ट के स्तर पर कुछ भी नहीं मारा जा रहा है। – blahdiblah