2013-04-29 10 views
11

एंड्रॉइड डॉक्स एक इरादे को परिभाषित करने के लिए एक ऑपरेशन के एक अमूर्त विवरण युक्त जानकारी का एक बंडल परिभाषित करता है। इससे पता चलता है कि यदि आवश्यक हो तो आपको एक ही इराद वस्तु को कई बार पुन: उपयोग करने में सक्षम होना चाहिए, लेकिन मैंने यह दिखाने के लिए कोई उदाहरण नहीं देखा है कि यह मामला है/करना सुरक्षित है।क्या यह एक इरादा का पुन: उपयोग करना सुरक्षित है?

private final Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
... 
protected void onCreate(Bundle savedInstanceState) { 
    enabledBluetoothIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0); 
    ... 
} 

और उसके बाद कोड में कई स्थानों में startActivityForResult(enableDiscoverableIntent, REQUEST_ENABLE_BT_DISCOVERY) फोन: ऐसा कोई कारण नहीं करने के लिए निम्नलिखित है? क्या होता है यदि वही इरादा दो बार शुरू होता है?

+0

जब आप 'इरादा' का पुन: उपयोग करेंगे तो इसका एक उदाहरण क्या है? मैं कभी-कभी 'इरादा' वस्तु बना देता हूं और फिर 'गतिविधि' में विभिन्न स्थानों पर इसका उपयोग करता हूं, इस पर निर्भर करता है कि कौन सी स्थितियां पूरी की जाती हैं और कब। पता नहीं है कि क्या यह मदद करता है ... – codeMagic

+0

मेरा उदाहरण ब्लूटूथ एक्सेस का अनुरोध कर रहा है, जो उपयोगकर्ता को ब्लूटूथ की पुष्टि या इनकार करने के लिए कहने वाले पॉपअप को लॉन्च करता है। यह कुछ अलग-अलग स्थानों में हो सकता है। यदि हम इरादे का उपयोग करते हैं और ब्लूटूथ सफलतापूर्वक चालू हो जाता है, लेकिन बाद में ब्लूटूथ कहीं और बंद हो जाता है, तो हम इसे फिर से अनुरोध करना चाहते हैं। उसी ऑब्जेक्ट का उपयोग करना सबसे साफ लगता है क्योंकि हम सिर्फ वही अनुरोध भेजना चाहते हैं। – maria1nes

+0

यह मेरे लिए उचित लगता है और मुझे कोई समस्या नहीं दिख रही है। हालांकि, कुछ परिस्थितियों में आप इस तरह के 'इरादे' से शुरू किए गए किसी भी समान कार्य को साफ़ करने जैसे चीजों को करने के लिए 'इरादा झंडे' का उपयोग करना चाह सकते हैं। – codeMagic

उत्तर

7

यह पूरी तरह से सुरक्षित है जब आप इसे एक ही चीज़ करने के लिए उपयोग करना चाहते हैं, क्योंकि Intent डेटा और निर्देशों का एक गुच्छा से अधिक नहीं है। यदि आप अलग-अलग उद्देश्यों के लिए उसी Intent ऑब्जेक्ट का उपयोग करना चाहते हैं (उदाहरण के लिए आपके पास टैब का एक गुच्छा है और उसी इरादे का पुन: उपयोग करने वाले टैब सेट करने का प्रयास करें, लेकिन वे जिस गतिविधि को लॉन्च करेंगे) उसे बदलने के लिए आपको अधिक सावधान रहना होगा, और मैं ' डी प्रत्येक के लिए एक नया Intent ऑब्जेक्ट दोबारा बनाने की अनुशंसा करते हैं।

संबंधित मुद्दे