जब मेरे पास प्रसारण होता है तो रिसीवर एंड्रॉइड.intent.action.MEDIA_BUTTON कहता है और मैं एक नई गतिविधि के बिना वर्तमान गतिविधि के यूआई को अपडेट करना चाहता हूं, क्या कोई अच्छा अभ्यास है यह वाला?ब्रॉडकास्ट रिसीवर से यूआई को एक निश्चित गतिविधि में अपडेट करने पर एंड्रॉइड बेस्ट प्रैक्टिस
जो मैं जानता हूँ (सही नहीं हो सकता है)
1) मैं निश्चित गतिविधि
2) एक ContentObserver बनाएं बाद गतिविधि के रूप में एक ही कक्षा में BroadcastReceiver रख दिया और updateUI समारोह कॉल कर सकते हैं?
3) गतिविधि द्वारा बनाई गई सेवा के लिए संचार करें, सहायता का उपयोग करें। (मुझे पता नहीं है कि अगर यह किसी गतिविधि से पंजीकृत है तो वर्तमान सेवा कैसे प्राप्त करें)
4) गतिविधि के समान कक्षा में स्थित प्रसारण रिसीवर पर एक कस्टम फ़िल्टर बनाएं, और context.sendBroadcast (कस्टम फ़िल्टर का संदेश) का उपयोग करें। और कस्टम फ़िल्टर में (एक लेकिन अधिक सामान्य रूप में एक ही?) updateUI फोन
अंतिम प्रवाह यह एक BroadcastReceiver से आएगा और गतिविधि नवीनीकरण न करके यूआई अद्यतन करने समाप्त होता है (जब तक गतिविधि मर चुका है?)
कृपया इस तरह की समस्या से निपटने के तरीके पर लिंक/स्रोत कोड प्रदान करें।
public class MyActivity extends Activity {
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
MyActivity.this.receivedBroadcast(intent);
}
};
@Override
public void onResume() {
super.onResume();
IntentFilter iff = new IntentFilter();
iff.addAction("android.intent.action.MEDIA_BUTTON");
// Put whatever message you want to receive as the action
this.registerReceiver(this.mBroadcastReceiver,iff);
}
@Override
public void onPause() {
super.onPause();
this.unregisterReceiver(this.mBroadcastReceiver);
}
private void receivedBroadcast(Intent i) {
// Put your receive handling code here
}
}
पर निर्भर करता है: अग्रिम धन्यवाद :)
भी विचार करें जानकारी यहां दी गई: [BroadcastReceiver.html # onReceive (android.content.Context, android.content.Intent)] (http://developer.android.com/reference/android/content/ BroadcastReceiver.html # onReceive% 28android.content.Context,% 20android.content.Intent% 29) –