2011-06-18 91 views
1

在我的android項目中,我需要在某個事件發生時顯示通知。 在我的應用程序中,我有一個在啓動完成時開始的服務。此服務啓動後臺線程。這些線程引發了這個事件。 現在的要求是,當事件發生時,我想在屏幕中間顯示通知。此通知類似於單按鈕對話框。通知屏幕一直存在,直到用戶點擊按鈕,意味着當用戶點擊按鈕時,屏幕將消失。我不知道如何在屏幕中間創建通知。在android中創建自定義通知

任何幫助將不勝感激..

回答

1

的服務不能創建用戶界面,所以你需要創建一個包含要UI中的活動,並從服務到活動發送意圖。

更新:

我真的建議你從fundamentals開始明白,在這裏發生的一切,但基本上你需要:

  1. 創建一個看起來像UI你的活動想要
  2. 發送意向從您的服務開始此活動

#1,你有我能想到的兩個明顯的選擇,要麼其中應該工作:

頂部#2,這是基本的Android:

startActivity(new Intent(this, ActivityClass.class)); 
+0

亞姆能夠創建狀態欄通知。但我不知道如何在屏幕中間創建通知。你會提供任何鏈接親愛的 –

+0

我已更新提供更多的細節。 – kabuko

+0

我很驚訝該框架沒有提供DialogActivity,因爲它似乎沒有其他的可能性(除了'Toast')來顯示來自服務或通知的信息。 – rds

2

將此代碼設置在方法中,並調用此方法並傳遞要顯示的數據。

這是Android的彈出窗口。它會顯示在屏幕的中間。

AlertDialog.Builder alt_bld = new AlertDialog.Builder(this); 
     alt_bld.setMessage("set target message data").setCancelable(false).setPositiveButton("yes", new OnClickListener() { 

public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} }).setNegativeButton("No", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub dialog.cancel(); 
} }); 

AlertDialog alert = alt_bld.create(); alert.setTitle("Popup button"); alert.show(); 

欲瞭解更多信息,請參閱本:http://developer.android.com/reference/android/app/Dialog.html

+0

此代碼可能最終對問題有用,但不能直接從服務調用。 – kabuko