Advertisement
nexxmobile

Unity webview

Apr 8th, 2014
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.31 KB | None | 0 0
  1. @SuppressLint("SetJavaScriptEnabled")
  2. public class MainActivity extends UnityPlayerActivity{
  3.     private Activity _activity;
  4.     private Context context;
  5.     LinearLayout _webViewLayout;
  6.     WebView _webView;
  7.  
  8.     @Override
  9.     protected void onCreate(Bundle savedInstanceState)
  10.     {
  11.         super.onCreate(savedInstanceState);
  12.         context = getApplicationContext();
  13.         _activity = UnityPlayer.currentActivity;
  14.     }
  15.  
  16.     private Boolean checkConnection()
  17.     {
  18.         ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  19.         if( cm.getActiveNetworkInfo() != null)
  20.         {
  21.             return true;
  22.         }
  23.         return false;
  24.     }
  25.    
  26.     /** PLACES A WEBVİEW OVER MAIN UI WITH MARGINS , CALL THIS FROM UNITY*/
  27.     public void placeWebViewLayout(final String url, final int _marginLeft,
  28.             final int _marginTop, final int _marginRight,
  29.             final int _marginBottom)
  30.     {
  31.         if(checkConnection())
  32.         {
  33.             runOnUiThread(new Runnable() {
  34.  
  35.                 @Override
  36.                 public void run() {
  37.                     setWebView(url, _marginLeft, _marginTop, _marginRight,
  38.                             _marginBottom);
  39.                 }
  40.             });
  41.         }
  42.     }
  43.    
  44.     /** HELPER FOR PLACEWEBVIEWLAYOUT*/
  45.     @SuppressWarnings("unused")
  46.     private ProgressDialog dialog;
  47.     private void setWebView(String _url, int _marginLeft, int _marginTop,
  48.             int _marginRight, int _marginBottom) {
  49.         try {
  50.             Log.d("WEBVIEW");
  51.             _webViewLayout = new LinearLayout(_activity);
  52.             LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
  53.                     ViewGroup.LayoutParams.MATCH_PARENT,
  54.                     LayoutParams.MATCH_PARENT);
  55.             layoutParams.setMargins(_marginLeft, _marginTop, _marginRight,
  56.                     _marginBottom);
  57.  
  58.             _webViewLayout.setLayoutParams(layoutParams);
  59.             _webViewLayout.requestLayout();
  60.             _activity.addContentView(_webViewLayout, layoutParams);
  61.             _webView = new WebView(_activity);
  62.            
  63.             _webView.setLayoutParams(layoutParams);
  64.             _webViewLayout.addView(_webView);
  65.  
  66.             // _webView.setLayoutParams(layoutParams);
  67.             WebSettings webSettings = _webView.getSettings();
  68.             webSettings.setUseWideViewPort(true);
  69.             webSettings.setLoadWithOverviewMode(true);
  70.             webSettings.setJavaScriptEnabled(true);
  71.             _webView.setMinimumHeight(300);
  72.             /** Web settings, diolog might be null */
  73.             _webView.setWebViewClient(new MyWebViewClient());
  74.  
  75.             _webView.loadUrl(_url);
  76.         } catch (Exception e) {
  77.             Log.e(e.toString());
  78.         }
  79.  
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement