在HTML按钮上打开Android活动,然后在网络视图中单击 [英] Open Android activity on HTML button click in web view

查看:58
本文介绍了在HTML按钮上打开Android活动,然后在网络视图中单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Android程序,可以在网络视图中显示HTML页面.HTML页面在本地存在于"asset/www/index.html"中.

I have an Android program to display an HTML page in a web view. The HTML page exists locally in "asset/www/index.html".

我想在HTML页面上放置一个按钮,并在单击按钮时打开一个新活动.

I want to put a button on the HTML page and open a new activity when the button is clicked.

这是Java代码:

public class HelloWebApp extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        WebView webView = (WebView)findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebChromeClient(new WebChromeClient());
        webView.loadUrl("file:///android_asset/www/index.html");
    }
}

推荐答案

您必须像下面这样从html传递按钮单击的URL,

You have to pass url on button click from html like below,

index.html

<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width; user-scalable=0;" />
<script type="text/javascript" charset="utf-8" src="jquery-2.0.0.min.js"></script>
<script type="text/javascript" charset="utf-8" src="quantize.js"></script>

<title>My HTML</title>
</head>
<body>
<h1>My HTML</h1>
<INPUT TYPE="button" value="Test" onClick="window.location='Navigation://OpenNativeScreen'">
</body>
</html>

现在,单击按钮后,您将在Web视图的 shouldOverrideUrlLoading 方法中获得该网址.请参见以下代码,

Now you will get the that url in shouldOverrideUrlLoading method of web view when button click.see the below code,

MainActivity.java

public class MainActivity extends Activity {

WebView myBrowser;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dropdown_html);
    myBrowser = (WebView) findViewById(R.id.mybrowser);
    myBrowser.setWebViewClient(new MyBrowser());
    myBrowser.getSettings().setJavaScriptEnabled(true);
    myBrowser.loadUrl("file:///android_asset/www/index.html");
}

private class MyBrowser extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.equals("Navigation://OpenNativeScreen")) {
            startActivity(new Intent(MainActivity.this,SecondActivity.class));
            finish();
            return true;
        }
        return false;
    }       
   }
 }

这篇关于在HTML按钮上打开Android活动,然后在网络视图中单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆