我有一個從其他應用程序獲取數據的服務。onReceive多次調用
當我得到日期時,我發送消息到broadCast
爲了刷新用戶界面。
onReceive
方法被調用多次,數據顯示多次。
這是我的代碼:
DataService.java
if(sizeLat == 1) {
sendMessage("Alerte1; »);
}
else {
sendMessage("Alerte2; »);
}
private void sendMessage(String message) {
Log.w("","==> send message");
Intent intent = new Intent("my-event");
// add data
intent.putExtra("message", message);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
MainActivity.java
// handler for received Intents for the "my-event" event
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("","Onreceiver");
String message = intent.getStringExtra("message");
if(message.equals("Alerte1")){
parentItems.add(message);
adapter.notifyDataSetChanged();
}}};
@Override
protected void onResume() {
Log.d(TAG, "On Resume");
super.onResume();
// Register mMessageReceiver to receive messages.
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
new IntentFilter("my-event"));}
我怎樣才能解決這個問題呢?
這個問題可能是您的服務檢查是否你服務向您發送多個數據或可能多次發送數據。請進行調試並檢查它或打印日誌以查看究竟發生了什麼。 – Pankaj 2015-04-06 12:12:19
沒有服務發送只有一次,我chefted, – Wafae 2015-04-06 12:20:00
方法sendmessage()被稱爲juste一次,但onReceive()被調用多次 – Wafae 2015-04-06 12:23:31