2016-06-14 7 views
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) 

答えて

0

は、以下を使用します。

performGlobalAction(GLOBAL_ACTION_BACK); 
関連する問題