目前,OnShouldStartLoadWithRequest僅在iOS上受支持。 A PR to add support for this on Android已關閉。如果Android上的WebView嘗試打開自定義URL方案the app will crash - 這也會導致我的應用崩潰。防止WebView在Android中加載URL(React Native)
我正在處理的應用程序需要攔截試圖打開自定義URL方案的WebView並在打開該URL之前取消它(在iOS上,返回false
在OnShouldStartLoadWithRequest
上是一種很好的方法)。
在Android上這樣做的最好方法是什麼?
我想這個代碼工作:
<WebView
ref={WEBVIEW_REF}
source={{uri: INITIAL_URI}}
onShouldStartLoadWithRequest={this.onShouldStartLoadWithRequest}
style={{width, height: height - navBarHeight, backgroundColor: "#fff"}}
/>
onShouldStartLoadWithRequest(navigator) {
if (navigator.url.indexOf(INTERCEPT_URL) === -1) {
return true;
}
return false;
}
我與幾乎任何工作親自好嗎 - 包括手動修改ReactWebViewManager.java
。我只需要把它弄出門。
調用'stopLoading()'後,我的WebView不再處理觸摸事件。如果用戶點擊鏈接並在瀏覽器中打開鏈接,他們可能會打開我的應用程序,該應用程序仍然顯示WebView。如果他們嘗試點擊該WebView中的其他鏈接,它將不會執行任何操作。你有沒有遇到過這個? – ckeeney