0

我有一個GCMListenerService將用於從我的服務器到我的客戶端的推送通知。我需要這個監聽器來中斷在Presenter中運行的線程(我的項目是使用MVP模式構造的)。但是,我不知道如何將結果接收器傳遞給服務,因爲我不認爲我可以覆蓋onStartCommand()。另一種選擇是LocalBroadCast Manager,但即使活動暫停,我也希望消息通過,所以我不認爲本地廣播管理器可以工作。如何使用ResultReceiver將數據從GCMListenerService返回給Activity?

回答

0

創建抽象的BroadcastReceiver如下:

public abstract class DataReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     onDataRefresh(intent); 
    } 
    protected abstract void onDataRefresh(Intent intent); 
} 

,並用它在活動如下:

class Acb extends Activity{ 
onCreate(){ 
DataReceiver data = new DataReceiver(
    @Override 
    protected void onMenuItemUpdate(Intent intent) { 

}); 
} 
} 

無論你使用sendBroadcast(intent);傳送的數據,該數據可以訪問這裏。

相關問題