Boardcast03

觸發器:       

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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章