0

hello i am new to android developing,

I want to set my javscript turn on in my android webview. I tried everything, but it doesn't work. My code below is my webview class. I hope someone can help me.

package visuals.Webview;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class VisualsActivity extends Activity {
/** Called when the activity is first created. */

final Activity activity = this;
WebView webview;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    webview = (WebView) findViewById(R.id.webview);
   // webview.setWebViewClient(new myWebClient());

    webview.loadUrl("http://192.168.0.62/lastversion/index.php");
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webview.getSettings().setUserAgentString(getString(R.string.user_agent_suffix));   
}

public class myWebClient extends WebViewClient
{
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        if (url.startsWith("tel:")) { 
            startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url))); 
            return true; 
        } else if (url.startsWith("mailto:")) { 
            url = url.replaceFirst("mailto:", ""); 
            url = url.trim(); 
            Intent i = new Intent(Intent.ACTION_SEND); 
            i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url}); 
            startActivity(i); 
            return true; 
        } else { 
            view.loadUrl(url); 
            return true; 
        } 
    } 
}

// To handle "Back" key press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
        webview.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
 }

Thank you for helping

robind38
  • 253
  • 1
  • 7
  • 18

3 Answers3

4
WebView webView;
webView.getSettings().setJavaScriptEnabled(true);

Pretty easy :)

StErMi
  • 5,389
  • 5
  • 48
  • 71
  • He already wrote the line. Don't know why the hell that didn't work. – Shaiful May 30 '12 at 08:39
  • Well so the problem is in something else because that line of code do its job :) Maybe he has some problem in his javascript – StErMi May 30 '12 at 08:43
1
webview.getSettings().setPluginState(PluginState.ON);

or when using older version ( < API 8)

webView.getSettings().setJavaScriptEnabled(true);
Ceetn
  • 2,728
  • 2
  • 25
  • 28
0
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

And if you want your webview's javascript to be able to interact with your android application. Take a look at webview's addJavascriptInterface method documentation.

JP_
  • 1,636
  • 15
  • 26