2
私はクラス0メッセージダイアログを解散しようとしています。これはAccessibilityService
クラスを使用するシステムアラートダイアログとも呼ばれます。これらのダイアログは、主にSIMオペレーターが、ユーザーの要求に応じてユーザーに通知するために使用されます。私は、次のコードを使用してダイアログを閉じonAccessibilityEvent()
方法でグローバルなバックアクションを実行しようとしています:java.lang.IllegalStateException:封印されたインスタンスでこのアクションを実行できません
public void onAccessibilityEvent(AccessibilityEvent event) {
if(event.getClassName().toString().equals("android.app.AlertDialog")){
event.setAction(AccessibilityService.GLOBAL_ACTION_BACK);
}
}
しかし、私はIllegalStateException
を取得しています。ここでは、完全なエラーログは次のとおりです。
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.IllegalStateException: Cannot perform this action on a sealed instance.
at android.view.accessibility.AccessibilityRecord.enforceNotSealed(AccessibilityRecord.java:666)
at android.view.accessibility.AccessibilityEvent.setAction(AccessibilityEvent.java:810)
at com.example.class0message.RecorderService.onAccessibilityEvent(RecorderService.java:52)
at android.accessibilityservice.AccessibilityService$1.onAccessibilityEvent(AccessibilityService.java:518)
at android.accessibilityservice.AccessibilityService$IAccessibilityServiceClientWrapper.executeMessage(AccessibilityService.java:584)
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:174)
at android.app.ActivityThread.main(ActivityThread.java:4952)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
at dalvik.system.NativeStart.main(Native Method)