前言
關鍵字: Android API 中文,Android SDK 中文,Android AccessibilityService 詳解
本章翻譯來自 java_cofi ,他的部落格地址:http://java-cofi.javaeye.com/admin,這裡本博負責整理和釋出,歡迎其他譯者一起參與Android API 的中文翻譯行動。
宣告
歡迎轉載,但請保留文章原始出處:)
java_cofi:http://java-cofi.javaeye.com/
部落格園:http://www.cnblogs.com
農民伯伯: http://www.cnblogs.com/over140/
正文
一、結構
java.lang.Object
android.content.Context
android.content.ContextWrapper
android.app.Service
android.accessibilityservice.AccessibilityService
public abstract class AccessibilityService extends Service
二、類概述
當AccessibilityEvent事件被啟動後AccessibilityService 會接收回撥函式執行於後臺,這些事件指的是在使用者介面間的狀態轉換,比如,焦點變化,按鈕被點選等。一些輔助服務繼承於此類並且實現它的抽象方法,像這樣的一個服務和其他服務一樣在AndroidManifest.xml中被宣告但它必須被指定操縱
android.accessibilityservice.AccessibilityService的意圖,下面的是一段例子:
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>
輔助服務的宣告週期只能被系統管理,啟動或者停止這個服務必須由明確的使用者通過啟用或停用裝置的設定,在系統通過呼叫onServiceConnected()方法與服務繫結後,這個方法才能被想要執行裝載的客戶端所過載使用,一個輔助服務通過呼叫setServiceInfo(AccessibilityServiceInfo)方法來設定AccessibilityServiceInfo而配置。你可以在任何時候改變這個服務的配置但最好是在過載方法onServiceConnected().中來使用。
一個輔助服務可以在特定的包中註冊事件以提供特殊的反饋型別並且當最後一個關聯的事件被解除的時候發出明確的超時提醒。
三、通告策略
對於每個回饋型別只有一個輔助服務被通知,服務登記處按順序被通知,因此,如果有兩個服務為同一個包中的同一回饋型別註冊那麼第一個會被通知,然而有可能的是,可以為一個給定的回饋型別去把一個服務註冊為預設的,這樣的話如果沒有其他的服務來取代這個事件這個服務就會被撥出使用,換句話說,預設的服務不會與其他的服務競爭並且不管註冊的順序而被通知。
四、公共方法:
abstract void onAccessibilityEvent(AccessibilityEvent event)
回撥AccessibilityEvents.
引數
event 一個事件
public final IBinder onBind (Intent intent)
實現返回一個內部的輔助介面的實現,子類不能被重寫。
引數
intent 與服務相繫結的意圖,注意其他任何包含在Intent的外部意圖將不能在此使用。
返回值
返回一個客戶端可以在服務上訪問的IBinder。
public abstract void onInterrupt ()
打斷輔助回饋內容時呼叫。
五、保護方法:
5.1 protected void onServiceConnected ()
這個方法是AccessibilityService宣告週期的一部分,在系統成功與服務繫結後才被呼叫,如果用來設定AccessibilityServiceInfo.這個方法更為方便。
六、Word版本下載:
http://download.csdn.net/source/2667675
結束
首先感謝java_cofi分享他的翻譯成果!隨著翻譯的增多,到一定數量之後我會單獨列帖子來按包分類。大家注意在結構裡如果有超連結,那麼說明已經連結到相關的文章了,方便大家查閱。歡迎聯絡我over140@gmail.com。