私は電源ダイアログが表示されたときにユーザーに警告する必要があるプロジェクトに取り組んでいます。電源ダイアログを表示するには、AccessibilityService
とperformGlobalAction(GLOBAL_ACTION_POWER_DIALOG)
を一緒に使用します。しかし、このダイアログが表示されたときには、accessibilityservice.xml
にすべてのイベントタイプ、フィードバックタイプ、フラグを入れても、他のイベントは送出されません。これは、我々が今持っているコードです:AccessibilityServiceの電源ダイアログを検出するにはどうすればいいですか
AccessibilityService:
@Override
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
Log.d("TESTING", "EVENT CODE: " + accessibilityEvent.getEventType()); //No event is happening when the power dialog is shown
switch (accessibilityEvent.getEventType()){
performGlobalAction(GLOBAL_ACTION_POWER_DIALOG);
}
}
accessibilityservice.xml:
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:packageNames="com.testingaccessibility"
android:accessibilityFeedbackType="feedbackAllMask"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:canRequestEnhancedWebAccessibility="true"
android:canRequestFilterKeyEvents="true"
android:canRequestTouchExplorationMode="true"/>
あなたは私がボタンのクリックで、電力ダイアログを開いていますし、それは見ることができるようにここでユーザーに警告することは可能ですが、ユーザーが電源ボタンを長押ししたときにはその操作を行うことはできません。
電源のダイアログが開いたときにアクセシビリティイベントを送信することはできますか?あなたのアクセシビリティサービスで