-
- All Implemented Interfaces:
-
android.graphics.drawable.Drawable.Callback
,android.view.KeyEvent.Callback
,android.view.ViewGroup.OnHierarchyChangeListener
,android.view.ViewManager
,android.view.ViewParent
,android.view.ViewTreeObserver.OnGlobalFocusChangeListener
,android.view.accessibility.AccessibilityEventSource
public class JavaScriptBridgeWebView extends WebView
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interface
JavaScriptBridgeWebView.WebViewJavascriptBridgeResponseCallback
public interface
JavaScriptBridgeWebView.WebViewJavascriptBridgeMethodExistCallback
public interface
JavaScriptBridgeWebView.JavascriptCloseWindowListener
public interface
JavaScriptBridgeWebView.WebViewJavascriptBridgeHandler
-
Field Summary
Fields Modifier and Type Field Description private JavaScriptBridgeWebView.JavascriptCloseWindowListener
javascriptCloseWindowListener
WebChromeClient
webChromeClient
WebViewClient
webViewClient
-
Constructor Summary
Constructors Constructor Description JavaScriptBridgeWebView(Context context, AttributeSet attrs)
JavaScriptBridgeWebView(Context context)
-
Method Summary
Modifier and Type Method Description void
setJavascriptCloseWindowListener(JavaScriptBridgeWebView.JavascriptCloseWindowListener listener)
set a listener for javascript closing the current activity. void
setWebChromeClient(WebChromeClient client)
void
setWebViewClient(WebViewClient client)
void
disableJavascriptAlertBoxSafetyTimeout(boolean disable)
void
callHandler(String handlerName)
void
callHandler(String handlerName, Object data)
void
callHandler(String handlerName, Object data, JavaScriptBridgeWebView.WebViewJavascriptBridgeResponseCallback responseCallback)
void
hasJavascriptMethod(String handlerName, JavaScriptBridgeWebView.WebViewJavascriptBridgeMethodExistCallback callback)
Test whether the handler exist in javascript List<String>
getRegisteredHandlerNameList()
get a registered method list void
registerHandler(String handlerName, JavaScriptBridgeWebView.WebViewJavascriptBridgeHandler handler)
boolean
onKeyDown(int keyCode, KeyEvent event)
void
evaluateJavascript(String script)
This method can be called in any thread, and if it is not called in the main thread,it will be automatically distributed to the main thread. void
loadUrl(String url)
This method can be called in any thread, and if it is not called in the main thread,it will be automatically distributed to the main thread. void
loadUrl(String url, Map<String, String> additionalHttpHeaders)
This method can be called in any thread, and if it is not called in the main thread,it will be automatically distributed to the main thread. boolean
dispatchKeyEvent(KeyEvent event)
void
destroy()
-
Methods inherited from class android.webkit.WebView
addJavascriptInterface, autofill, canGoBack, canGoBackOrForward, canGoForward, canZoomIn, canZoomOut, capturePicture, clearCache, clearClientCertPreferences, clearFormData, clearHistory, clearMatches, clearSslPreferences, clearView, computeScroll, copyBackForwardList, createPrintDocumentAdapter, createWebMessageChannel, destroy, disableWebView, dispatchKeyEvent, documentHasImages, enableSlowWholeDocumentDraw, evaluateJavascript, findAddress, findAll, findAllAsync, findFocus, findNext, flingScroll, freeMemory, getAccessibilityClassName, getAccessibilityNodeProvider, getCertificate, getContentHeight, getCurrentWebViewPackage, getFavicon, getHandler, getHitTestResult, getHttpAuthUsernamePassword, getOriginalUrl, getProgress, getRendererPriorityWaivedWhenNotVisible, getRendererRequestedPriority, getSafeBrowsingPrivacyPolicyUrl, getScale, getSettings, getTextClassifier, getTitle, getUrl, getWebChromeClient, getWebViewClassLoader, getWebViewClient, getWebViewLooper, getWebViewRenderProcess, getWebViewRenderProcessClient, goBack, goBackOrForward, goForward, invokeZoomPicker, isPrivateBrowsingEnabled, isVisibleToUserForAutofill, loadData, loadDataWithBaseURL, loadUrl, onCheckIsTextEditor, onChildViewAdded, onChildViewRemoved, onCreateInputConnection, onDragEvent, onFinishTemporaryDetach, onGenericMotionEvent, onGlobalFocusChanged, onHoverEvent, onKeyDown, onKeyMultiple, onKeyUp, onPause, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideVirtualStructure, onResume, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onWindowFocusChanged, overlayHorizontalScrollbar, overlayVerticalScrollbar, pageDown, pageUp, pauseTimers, performLongClick, postUrl, postVisualStateCallback, postWebMessage, reload, removeJavascriptInterface, requestChildRectangleOnScreen, requestFocus, requestFocusNodeHref, requestImageRef, restoreState, resumeTimers, savePassword, saveState, saveWebArchive, setBackgroundColor, setCertificate, setDataDirectorySuffix, setDownloadListener, setFindListener, setHorizontalScrollbarOverlay, setHttpAuthUsernamePassword, setInitialScale, setLayerType, setLayoutParams, setMapTrackballToArrowKeys, setNetworkAvailable, setOverScrollMode, setPictureListener, setRendererPriorityPolicy, setSafeBrowsingWhitelist, setScrollBarStyle, setTextClassifier, setVerticalScrollbarOverlay, setWebChromeClient, setWebContentsDebuggingEnabled, setWebViewClient, setWebViewRenderProcessClient, shouldDelayChildPressedState, showFindDialog, startSafeBrowsing, stopLoading, zoomBy, zoomIn, zoomOut
-
Methods inherited from class android.widget.AbsoluteLayout
generateLayoutParams
-
Methods inherited from class android.view.ViewGroup
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchSetActivated, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, endViewTransition, findViewsWithText, focusSearch, focusableViewAvailable, gatherTransparentRegion, getChildAt, getChildCount, getChildMeasureSpec, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestDisallowInterceptTouchEvent, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, showContextMenuForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
-
Methods inherited from class android.view.View
addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, bringToFront, buildDrawingCache, buildLayer, callOnClick, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getOverlay, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchDelegate, getTouchables, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollContainer, isScrollbarFadingEnabled, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onDrawForeground, onFilterTouchEventForSecurity, onHoverChanged, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyLongPress, onKeyPreIme, onKeyShortcut, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideStructure, onRtlPropertiesChanged, onScreenStateChanged, onVisibilityAggregated, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performHapticFeedback, playSoundEffect, post, postDelayed, postInvalidate, postInvalidateDelayed, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayoutDirection, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollBarSize, setScrollContainer, setScrollIndicators, setScrollX, setScrollY, setScrollbarFadingEnabled, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
JavaScriptBridgeWebView
JavaScriptBridgeWebView(Context context, AttributeSet attrs)
-
JavaScriptBridgeWebView
JavaScriptBridgeWebView(Context context)
-
-
Method Detail
-
setJavascriptCloseWindowListener
void setJavascriptCloseWindowListener(JavaScriptBridgeWebView.JavascriptCloseWindowListener listener)
set a listener for javascript closing the current activity.
-
setWebChromeClient
void setWebChromeClient(WebChromeClient client)
-
setWebViewClient
void setWebViewClient(WebViewClient client)
-
disableJavascriptAlertBoxSafetyTimeout
void disableJavascriptAlertBoxSafetyTimeout(boolean disable)
-
callHandler
void callHandler(String handlerName)
-
callHandler
void callHandler(String handlerName, Object data)
-
callHandler
void callHandler(String handlerName, Object data, JavaScriptBridgeWebView.WebViewJavascriptBridgeResponseCallback responseCallback)
-
hasJavascriptMethod
void hasJavascriptMethod(String handlerName, JavaScriptBridgeWebView.WebViewJavascriptBridgeMethodExistCallback callback)
Test whether the handler exist in javascript
-
getRegisteredHandlerNameList
List<String> getRegisteredHandlerNameList()
get a registered method list
-
registerHandler
void registerHandler(String handlerName, JavaScriptBridgeWebView.WebViewJavascriptBridgeHandler handler)
-
evaluateJavascript
void evaluateJavascript(String script)
This method can be called in any thread, and if it is not called in the main thread,it will be automatically distributed to the main thread.
-
loadUrl
void loadUrl(String url)
This method can be called in any thread, and if it is not called in the main thread,it will be automatically distributed to the main thread.
-
loadUrl
void loadUrl(String url, Map<String, String> additionalHttpHeaders)
This method can be called in any thread, and if it is not called in the main thread,it will be automatically distributed to the main thread.
-
dispatchKeyEvent
boolean dispatchKeyEvent(KeyEvent event)
-
destroy
void destroy()
-
-
-
-