2016-01-23 70 views
1

我想爲Android創建一個無障礙功能,只要有人按下或長按一個應用程序圖標就會出現提示。要做到,這一點我有幾個問題:如何覆蓋Android的啓動器應用程序的信息?

  1. 當用戶點擊該 主屏幕或應用程序啓動的應用程序圖標如何識別?
  2. 如何利用這個事件,然後 拉適當的信息,並提交給用戶?

我是否需要開發自定義啓動器應用程序才能識別用戶按下等?或者我可以以某種方式從用戶使用的任何啓動器中檢索這些信息並給出提示?

回答

2

有幾種不同的方式來獲得您正在尋找的信息。

第一個選項是按照您的建議創建自定義啓動器。這有明顯的缺點。最明顯的是,不得不重新創建整個啓動器應用程序顯然是困難的,並且可能會產生比修復更多的問題。你可以搜索一個開源的啓動器應用程序,並嘗試添加你的功能,但是你會依賴這個代碼庫的提供者來接受你的功能。

第二,也是我推薦的方式來訪問這些信息是通過無障礙服務。此信息可用於「話語提示」等服務。它們的功能至關重要。你在這裏面臨的困難是與那裏可用的衆多發射器正確地互動。然而,這些啓動器大部分都是基於類似的出發點,這是Android基礎開放源碼啓動器。因此,您需要與之互動的發射器部分應該在大多數啓動器示例中非常類似地編碼。

此方法的缺點是一次只能在設備上激活一個輔助功能服務。因此,部分失明的用戶可能想同時使用您的功能和TalkBack,但無法使用此功能。當然,您需要確定您希望處理哪些困難/好處,但這些都是您的選擇。

+0

謝謝!我可以考慮修改一個開源的Android啓動器。來自CyanogenMod團隊的Trebuchet Launcher似乎是一個不錯的選擇。但是,如果我要走另一條路線並通過無障礙服務選擇做到這一點,那麼您能否提供更多關於如何去做的細節?只要指出任何在線教程或示例,都可以幫助我開始朝正確的方向發展。你的解釋對我來說理解具體細節有點太高。 –

+1

http://developer.android.com/guide/topics/ui/accessibility/services.html – ChrisCM