2011-08-03 92 views
1

我正在處理的應用可能會在後臺收到異步事件。我構建應用程序的方式是,當客戶端收到這樣的事件時,它將消息發送給活動擁有的處理程序。這些活動以各種方式處理消息。 在一種情況下,當某個特定事件在前臺運行時應用程序爲而不是時,我需要爲用戶啓動一個活動和一些用戶界面。就像呼叫到達時一樣,無論其他應用程序當前處於活動狀態,「接聽」或「拒絕」UI都會顯示在前臺。 這樣做的最好方法是什麼?我正在重新閱讀有關活動,意向和任務的文檔,但它並不總是很清晰或易於消化。我也在積極尋找可以做類似事情的代碼或教程,但到目前爲止還沒有運氣。歡迎任何指針或引用。不在前臺的活動在同一應用中啓動另一個活動的正確方法是什麼?

回答

1

你的意思是像

startActivity(new Intent(this, YourClass.class), Intent.FLAG_ACTIVITY_NEW_TASK);

編輯:啊,你沒有背景的東西卻

`

private IntentFilter mNoticeFilter = new IntentFilter("com.you.yourapp.NEW_NOTICE"); 

private BroadcastReceiver mNoticeReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      // Do something! ie launch your activity 
      startActivity(new Intent(this, YourClass.class)); 
     } 
    };` 

當您創建活動,那麼你可以

registerReceiver(mNoticeReceiver, mNoticeFilter); 

,不要忘了unregisterReceiver(mNoticeReceiver);

在這裏看到:http://developer.android.com/reference/android/content/BroadcastReceiver.html

相關問題