所以我在android中學習BroadcastReceiver。 BroadcastReceivers基於觀察者設計模式(這使得它們非常有趣)。
所以我想要實現的是廣播我的消息,並在同一活動內我想收到消息(僅用於測試目的)。 這裏是代碼片段無法接收廣播在同一活動
Log.d("ABC", "sending");
Intent intent = new Intent("com.yourcompany.testIntent");
intent.putExtra("value", "test");
sendBroadcast(intent);
Log.d("ABC", "sent");
IntentFilter filter = new IntentFilter("com.yourcompany.testIntent");
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("ABC","INSIDE ");
String value = intent.getExtras().getString("value");
}
};
Log.d("ABC", "receiving");
registerReceiver(receiver, filter);
Log.d("ABC", "received");
這裏是調試輸出
04-06 20:40:52.446 20149-20149/com.example.illuminati.broadcastreceiver d/ABC:發送 04-06 20:40:52.447 20149-20149/com.example.illuminati.broadcastreceiver D/ABC:sent 04-06 20:40:52.448 20149-20149/com.example.illuminati.broadcastreceiver D/ABC:接收04-06 20:40:52.453 20149-20149/com.example.illuminati.broadcast接收器d/ABC:收到
爲什麼它沒有內部的onReceive得到()方法
缺少什麼我在這裏
任何幫助嗎?
這樣一個愚蠢的錯誤。我不能夠感謝你。非常感謝:) –
不客氣,不斷學習! – AlexTa