Мое предложение было бы отправить рассылку с использованием sendBroadcast()
из службы, а затем использовать BroadcastReceiver
в качестве внутреннего класса в вашей основной деятельности.В зависимости от вашей услуги вы можете просто прикрепить данные к цели, используя putExtras()
и getExtras()
Надеюсь, это поможет!
Практический пример:
public class x extends Service {
//Code for your service goes here
public talk() {
Intent i = new Intent();
i.putExtras("Extra data name", "Super secret data");
i.setAction("FILTER");
sendBroadcast(i);
}
}
Тогда в классе служба говорит:
public class y extends Activity {
//Code for your activity goes here
BroadcastReceiver br = new BroadcastReceiver() {
public void onReceive(Intent i) {
String str = (String) i.getExtras().get("Extra data name").toString();
}
OnResume() {
super.OnResume();
IntentFilter filt = new IntentFilter("FILTER");
this.registerReceiver(br, filt);
//Do your other stuff
}
OnPause() {
super.OnPause();
unregisterReceiver(br);
}
Надеюсь, этот пример о том, что вы ищете, дайте мне знать, если вам нужны какие-либо подробности.