我試圖編寫一個非常基本的android無障礙服務,當任何通知提出時顯示一條消息並震動。我試着通過在手機上發送一封電子郵件來測試它(我想這會顯示一些通知)。但我沒有看到任何通知。Android無障礙服務
我的服務代碼看起來像
public class NotifierService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent evt) {
Toast.makeText(this, "Got event from " + evt.getPackageName(), Toast.LENGTH_SHORT)
.show();
Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE);
v.vibrate(new long[] { 0, 250, 250, 250, 250, 250, 250, 250, 250 }, -1);
}
@Override
public void onInterrupt() { }
}
我已經驗證該服務正在運行,並且我已經在手機的可訪問菜單中啓用它。和清單看起來像這樣(有些部分被去除不相關):
<uses-permission android:name="android.permission.VIBRATE" />
<application>
<activity
android:name=".MyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".NotifierService" android:enabled="true" >
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>
</application>
MyActivity
只是與啓動/停止服務的按鈕的活動。
既然你沒有''元素,你叫'setServiceInfo()'的地方,每[該文檔'AccessibilityService'](http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html)?我沒有實現其中的一個,所以我只是接受了一個有教養的猜測。 –
CommonsWare
2012-03-12 22:43:09
啊,我不是。我會試試看看會發生什麼。 – 2012-03-12 22:56:00
這樣做,謝謝。 – 2012-03-12 23:00:16