2015-12-19 85 views
-2

我想實現一個異步任務,從服務中的url獲取一個字符串。 我正在使用一個startedService,它調用異步任務獲取正確的字符串,更新公共數據庫類的內容並返回到主要活動,問題是我需要通知DB中的更改的列表適配器是在主要活動,我沒有從服務中獲得它,我是一個noobie,所以我不熟悉什麼更好的使用,啓動或綁定服務的工作,任何sugestions?在服務內創建一個異步任務

謝謝

+0

你可以用'BroadcastReceiver'了點。 –

回答

0

您可以使用廣播接收器: 在你的活動:

@Override 
public void onResume() { 
    super.onResume(); 

    // Register mMessageReceiver to receive messages. 
    LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, 
     new IntentFilter("mybroadcast")); 
} 

// handler for received Intents for the "my-event" event 
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    // Extract data included in the Intent 
    String message = intent.getStringExtra("message"); 
    Log.d("receiver", "Got message: " + message); 
    } 
}; 

@Override 
protected void onPause() { 
    // Unregister since the activity is not visible 
    LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver); 
    super.onPause(); 
} 

而從服務利用到廣播:

Intent intent = new Intent(); 
intent.setAction("mybroadcast"); 
sendBroadcast(intent)