TYPE_NOTIFICATION_STATE_CHANGED usually refers to NotificationManager and icons placed on the status bar. However, the code below should help shed light on the origin of the Toast message. On Android 4.0.4, ICS toast has the class android.widget.Toast
, so getClassName
should do the trick.
What is its value, it seems, a change has been made in Android 4.0.3 to add and use the following method in Toast.TN
private void trySendAccessibilityEvent() { AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(mView.getContext()); if (!accessibilityManager.isEnabled()) { return; }
You can see the Toast
class in all versions of Android here .
private final String getEventType(AccessibilityEvent event) { switch (event.getEventType()) { case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED: return "TYPE_NOTIFICATION_STATE_CHANGED"; case AccessibilityEvent.TYPE_VIEW_CLICKED: return "TYPE_VIEW_CLICKED"; case AccessibilityEvent.TYPE_VIEW_FOCUSED: return "TYPE_VIEW_FOCUSED"; case AccessibilityEvent.TYPE_VIEW_LONG_CLICKED: return "TYPE_VIEW_LONG_CLICKED"; case AccessibilityEvent.TYPE_VIEW_SELECTED: return "TYPE_VIEW_SELECTED"; case AccessibilityEvent.TYPE_VIEW_SCROLLED: return "TYPE_VIEW_SCROLLED"; case AccessibilityEvent.TYPE_VIEW_HOVER_EXIT: return "TYPE_VIEW_HOVER_EXIT"; case AccessibilityEvent.TYPE_VIEW_HOVER_ENTER: return "TYPE_VIEW_HOVER_ENTER"; case AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START: return "TYPE_TOUCH_EXPLORATION_GESTURE_START"; case AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END: return "TYPE_TOUCH_EXPLORATION_GESTURE_END"; case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED: return "TYPE_WINDOW_STATE_CHANGED"; case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: return "TYPE_WINDOW_CONTENT_CHANGED"; case AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED: return "TYPE_VIEW_TEXT_SELECTION_CHANGED"; case AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED: return "TYPE_VIEW_TEXT_CHANGED"; } return "default"; } private final String getEventText(AccessibilityEvent event) { StringBuilder sb = new StringBuilder(); for (CharSequence s : event.getText()) { sb.append(s); sb.append('\n'); } return sb.toString(); } @Override public void onAccessibilityEvent(AccessibilityEvent event) { Log.v(TAG, String.format( "onAccessibilityEvent: [type] %s [class] %s [package] %s [time] %s [fullscreen] %s [text] %s", getEventType(event), event.getClassName(), event.getPackageName(), event.getEventTime(), Boolean.toString( event.isFullScreen()), getEventText(event))); if (android.os.Build.VERSION.SDK_INT >= 14) Log.v(TAG, "Window ID: " + Integer.toString(event.getWindowId()) + "."); } private void setServiceInfo(int feedbackType) { final AccessibilityServiceInfo info = new AccessibilityServiceInfo();
Source: personal experience.
source share