2012-11-04 30 views
2

我有一個後臺服務運行,需要顯示允許/拒絕AlertDialog給用戶,並得到他的選擇。大概,這是我想要的。在我的服務,我有這樣的代碼:)服務通過活動顯示允許/拒絕AlertDialog。如何讓用戶的選擇恢復服務?

void someMethod() 
{ 
    boolean allow = showAllowDenyBox(); 
    //Some operations based on the value of allow 
} 

我想知道如何實現方法showAllowDenyBox(。從this線程,我明白我必須創建一個活動並在該活動中顯示AlertDialog。但是,一旦用戶選擇允許或拒絕,我將如何向服務報告該選擇?任何幫助,將不勝感激。

總之,我想要一個AlertDialog從一個服務內部衍生出來,並且必須是同步的。

回答

2

您將不得不使用startActivityForResult方法來實現此功能。 FOr更多信息返回結果退房this SO post

基本上使用這種方法,你可以通知Android系統你想從你傳遞給這個方法的活動中得到一個結果。在上面的文章中很好地解釋了這個結果。檢查出來。

+0

謝謝。但問題是,在我的服務中,我只有在得到Activity的結果後才能執行下一行代碼。如果我使用startActivityForResult,它會嘗試完成執行調用代碼,然後纔會啓動活動。我不能使用它,因爲我希望Activity的結果能夠執行調用代碼中的下一行代碼。 –

+1

您可以將下一行代碼添加到在'onActivityResult'方法中執行的函數中。 – varevarao

相關問題