2011-09-13 21 views
0

我正在從顯示一些文本的服務開始一個活動。從服務啓動活動並且不希望輸入任何密鑰

現在,如果用戶按下一個按鍵 - 說一個後退鍵,我希望後退按鈕被任何其他正在運行的應用程序處理(不是由我的服務啓動)。

這可能嗎?我試過FLAG_NOT_FOCUSABLE,但是,後退鍵仍然沒有被任何其他應用程序處理/忽略。 Android的,一段時間後繼續給爲「強制關閉」或「等待一個選項」

任何指針將會很有幫助

僅供參考,。‘白頁’應用程序做這樣的事情 - 它顯示一個對話框窗口然而,不處理的返回鍵。

感謝。

回答

0

我不知道這是否正確與否,但我已經看到了一些應用程序相同的行爲我自己。我想他們正在使用Toast消息來顯示文本。我不確定服務是否可以顯示Toast或不是 - 你必須嘗試......如果不是,那麼你也可以嘗試讓Activity顯示吐司並立即退出。

+0

感謝Micahel的迴應。 Toast的問題在於它只有短暫的時間(即使使用LONG)。如果有人想要吐司說30秒,這是不可能的。如果您重新呈現吐司,它會產生閃爍。 – Sanjay

0

只有當前正在運行的活動收到按鈕按下的信號。所有你能做的就是攔截後退按鈕按通過實施:

onBackPressed() 

在舊設備上,這將不完全工作,你需要做的是這樣:

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
    //Do something here 
    return true; 
    } 
return super.onKeyDown(keyCode, event); 
} 

至於傳球按鈕按下另一個活動,我不知道你可以做到這一點。你可以做的是傳遞一個可以指定後退按鈕的意圖。但是,這假定其他活動是爲了處理這種意圖而設置的。

+0

感謝斯萊頓的信息。傳遞意圖是另一項活動的一個很好的解決方案,但是,在這種情況下,活動是傳入電話處理程序應用程序(隨電話一起提供),是否有任何方法將回車鍵傳遞給電話應用程序? – Sanjay

相關問題