2013-03-24 23 views
0

在android上,每當用戶長按文本字段,他們就會得到一個上下文菜單,其中包含「複製」,「粘貼」,「全選」等選項。 '知道我不能將我自己的項目添加到此菜單,系統範圍內 - android不會也不應該讓我。但是我可以從頭開始編寫自己的上下文菜單,並且每當用戶長按文本視圖時,都會給出兩個選項 - 1.系統上下文菜單2.我自己的菜單。Android:爲用戶提供替代上下文菜單

我知道這可以做到,但我不知道使用什麼API調用來實現這一點。 現有的應用程序做同樣的事情:

  1. 的Swype鍵盤:此鍵盤應用程序重寫系統鍵盤。所以當用戶點擊文本視圖鍵入內容時,會給出兩個選項,分別是 - 1.默認系統鍵盤,或者2.安裝Swype鍵盤用戶。用戶還可以選擇將其中一個設爲默認值。同樣,Go Launcher Ex:每當我們按下'Home'按鈕時系統範圍內,我們有兩個選項 - 顯示常規主屏幕或顯示Go Launcher Home屏幕。

任何建議,或參考資料,高度讚賞。

謝謝!

+0

對不起,我沒有意識到你想要跨所有應用程序。我刪除了我的答案。 – Squonk 2013-03-24 08:45:13

回答

0

你的兩個例子都是使用Intent過濾器完成的。但是,EditText的上下文菜單並未使用Intent顯示,因此無法以此方式覆蓋。

您可以使用onContextMenu和相關API來覆蓋應用程序中的菜單,但是對於其他應用程序無法這樣做。

+0

謝謝!這附近可能會有其他黑客入侵嗎?可以讓後臺服務收聽全系列按鍵,當我的服務檢測到長按時,它將啓動顯示我的自定義菜單的活動? – 2013-03-24 07:51:25

+0

在一個紮根的環境中,任何事情都是可能的,但Android平臺不會讓你攔截另一個應用程序的輸入,即使這樣做也不會讓你檢查另一個應用程序的窗口,看看用戶是否觸摸了EditText。 – 2013-03-24 07:56:13