मेरे पास एक रैपर वर्ग (ब्लूटूथडिस्कोवर) है जो एक सेवा के भीतर तत्काल है। यह वर्ग ब्लूटूथ एडाप्टर प्राप्त करता है और यह जांचता है कि पड़ोसी उपकरणों के लिए स्कैनिंग से पहले ब्लूटूथ सक्षम है या नहीं।एंड्रॉइड - एक गतिविधि के बाहर startActivityForResult?
अब अगर ब्लूटूथ सक्षम नहीं है मैं इस वर्ग (BluetoothDiscoverer) के भीतर निम्न करने के लिए सक्षम होना चाहते हैं:
Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetoothIntent, BLUETOOTH_ENABLER);
अब मैं इस पढ़ा है: use startActivityForResult from non-activity
लेकिन मैं नहीं करना चाहती इस ऑब्जेक्ट में मेरी मुख्य गतिविधि को पास करने के लिए, क्योंकि मैं परिणाम से निपटना चाहता हूं (चाहे उपयोगकर्ता ब्लूटूथ को सक्षम करने के लिए स्वीकार करता है या नहीं) BluetoothDiscoverer क्लास के भीतर।
अब मैं मैं एक NullPointerException हो रही है जब startActivityForResult के बारे में कहा जा रहा है लगता है BluetoothDiscoverer गतिविधि
का एक उपवर्ग करते हैं।
मुझे लगता है कि ऐसा इसलिए है क्योंकि मुझे ऑनक्रेट()/onDestroy() विधि, जोड़ने की आवश्यकता है, लेकिन यह मेरे द्वारा किए जा रहे कार्यों के उद्देश्य को हरा देता है क्योंकि मुझे सेवा के भीतर BluetoothDiscoverer ऑब्जेक्ट पर विधियों को कॉल करने में सक्षम होना चाहिए जो इस वर्ग को तुरंत चालू करता है।
स्कैन शुरू होने पर पड़ोसी उपकरणों को पुनर्प्राप्त करने के लिए मुझे प्रसारण रिसीवर पंजीकृत करने की भी आवश्यकता है। यदि ब्लूटूथडिस्कोवर क्लास गतिविधि नहीं है, तो मैं इस रिसीवर को कैसे पंजीकृत करूं?
क्या इसके लिए कोई काम है?
धन्यवाद एंड्रियास
धन्यवाद। मैंने अपना तर्क बदल दिया है और अब काम करता है :-) – kkudi