2015-10-04 65 views
0

我在堅持以下問題: 我想對Android設置中的AccessibilityEvents做出反應。 例如,我想在用戶點擊位置時執行特定操作。 當我切換設備的語言時會發生此問題。然後它說event.getText()一個不同的文本,所以我無法對「位置」做出反應。有沒有辦法爲Subsettings Location等獲得唯一的ID?Android輔助功能服務事件處理

最佳 亞歷

回答

1

在你onServiceConnected功能,試試這個:

AccessibilityServiceInfo tempInfo = getServiceInfo(); 
tempInfo.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS; 
tempInfo.flags |= AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS; 
setServiceInfo(tempInfo); 

我們添加包括在情況下,沒有重要的意見至關重要ID是你要找的視圖的佈局。報告視圖ID標誌將報告具有命名資源的視圖的ID。如果視圖(或它的分層佈局)沒有命名資源,不幸的是你被卡住了。您可以嘗試獲取根視圖,並根據整個層次結構計算視圖的位置。例如,如果您知道這是第五種視圖,那麼旁邊的視圖ID就是另一種方法。

0

我想一個辦法就是定位詞翻譯成其他語言,並創建字符串的一個列表,只是匹配所選節點的文本,並執行所需的操作:)
因爲我覺得有沒有獨特的ID爲每個可訪問節點。