觸發器:
Intent intent = new Intent();
intent.putExtra("names_music", list_names.get(positions));
intent.setAction("android.intent.action.names");
MyService.this.sendBroadcast(intent);
接收器:(單獨的類中)
class myReceiver extends BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String str=intent.getStringExtra("names_music");
}
}
註冊: MyReceiver最好和發送端在同一個包中
<receiver android:name=".MyReciver">
<intent-filter >
<action android:name="android.intent.action.names"/>
</intent-filter>
</receiver>
接收器(在Activity中)
private BroadcastReceiver receiver=null;
receiver= new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String str=intent.getStringExtra("names_music");
player_names_textview.setText(str);
}
};
可以在onResume中註冊接收器這樣就不需要在manifest中配置了:
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.names");
this.registerReceiver(this.receiver, filter);
在activity退出時要取消註冊
this.unregisterReceiver(this.receiver);