React Native

react-native webview alert message url 안보이도록 ...

projin 2020. 12. 31. 16:15

 

 

react-native 웹뷰로 구성된 화면에서 자바스크립트로 alert 메시지를 띄울때 url 표시가 되는데 보기가 싫어서 url 삭제하고자 하는 경우 아래처럼 코드를 추가해주면 됩니다

 

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java

 

 

 


// 아래 코드 추가
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.webkit.JsResult;


  protected void setupWebChromeClient(ReactContext reactContext, WebView webView) {
    if (mAllowsFullscreenVideo) {
      int initialRequestedOrientation = reactContext.getCurrentActivity().getRequestedOrientation();
      mWebChromeClient = new RNCWebChromeClient(reactContext, webView) {
        @Override
        public Bitmap getDefaultVideoPoster() {
          return Bitmap.createBitmap(50, 50, Bitmap.Config.ARGB_8888);
        }
        
        
        .....
        
        
        // 아래 코드 추가
        @Override
        public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
          AlertDialog dialog = new AlertDialog.Builder(view.getContext()).
            // As of now it is empty to match ios alert.
            setTitle("").
            setMessage(message).
            setPositiveButton("OK", new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialog, int which) {
                //do nothing
              }
            }).create();
          dialog.show();
          result.confirm();
          return true;
        }
        
        
        ......
        
        
      webView.setWebChromeClient(mWebChromeClient);
    }