2013-08-08 8 views
5

पर प्रसारित करने के लिए कैसे करें, मुझे आश्चर्य है कि निजी प्रसारण बनाना संभव है या नहीं। मैं वास्तव में मेरी गतिविधि में broadcastreceiver रजिस्टर और प्रसारण भेजने के लिएप्रसारण को अपने एंड्रॉइड ऐप

sendOrderedBroadcast(broadcast); 

विधि का उपयोग करें। लेकिन, अब के लिए, आशय (प्रसारण) इस विधि के लिए इस्तेमाल इस तरह परिभाषित किया गया है:

Intent broadcast = new Intent("com.mypackage.broadcast"); 

इसलिए हर बाहरी अनुप्रयोग जो इस पैकेज का नाम घोषित मैं क्या भेज रहा हूँ सुन सकते हैं, और मैं नहीं करना चाहते ।

तो यह असंभव कैसे बनाएं, कोई भी मेरे प्रसारण को सुन सकता है?

उत्तर

6

मुझे लगता है कि आप LocalBroadcast Manager देख रहे हैं। डॉक्स कहते हैं:

यह में पंजीकृत करने तथा प्रक्रिया के भीतर स्थानीय वस्तुओं के लिए उद्देश्य के प्रसारण भेजने के लिए एक सहायक है। SendBroadcast (इरादा) के साथ वैश्विक प्रसारण भेजने पर इसके कई फायदे हैं। उनमें से एक यह है कि डेटा आप प्रसारण कर रहे हैं अपने अनुप्रयोग नहीं छोड़ देंगे, तो निजी data.` लीक

अधिक के लिए how to use LocalBroadcastManager? देखें के बारे में चिंता करने की जरूरत नहीं है। उम्मीद है कि यह आपकी मदद करता है।

+0

वाह, यह तेज़ था, बहुत बहुत धन्यवाद, वास्तव में सही कुंजी शब्द से नहीं खोज रहा था। धन्यवाद फिर से @ शोभित पुरी, यह निश्चित रूप से मैं क्या देख रहा था। – Bibu

+0

खुशी हुई यह मदद की :) –

1

स्थानीय ब्रॉडकास्ट प्रबंधक के लिए ऐप को काम करने के लिए चलाना चाहिए।

केवल अपने ऐप पर एंड्रॉइड प्रसारण सीमित करने के लिए एक सामान्य रणनीति रखने के लिए, हम अनुसरण के रूप में कर सकते हैं।

Intent intent = new Intent(); 
String packageName = context.getApplicationContext().getPackageName(); 
intent.setAction(packageName + "<MY_ACTION>"); 
context.sendBroadcast(intent); 

के बाद से आवेदन पैकेज एंड्रॉयड पर सभी एप्लिकेशन के लिए अद्वितीय रहेगा, इस सुरक्षित रूप से प्रसारण अपने स्वयं के अनुप्रयोग के लिए सीमित हो जाएगी और आप AndroidManifest.xml में BroadcastReceivers रजिस्टर कर सकते हैं।

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