我的建議是從服務中使用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);
}
希望這個例子是關於你正在尋找的東西,讓我知道如果你需要任何更多細節。
謝謝你知道這是否有任何實際的例子嗎? – droidgren 2010-08-21 23:15:30
我剛剛爲你添加了一個!希望能幫助到你。廣播通常被android用來讓其他程序或其他部分發生。傳入的文本消息或傳出的呼叫都會產生廣播。 – 2010-08-22 02:29:08
謝謝,我非常感謝你的幫助。你的例子工作得很好,雖然它是: public void onReceive(Context c,Intent i)然後一個「;」 .toString(); – droidgren 2010-08-22 10:40:13