0

我创建了新的Android应用程序,因为它显示静态信息,我已经创建了html5并且我将html5文件调用到我的webview一切正常,但我的页面有带有值的复选框,打开关闭,如播放 mp3,这将与特定日子和时间。问题是我如何检查这个复选框的值是否可以播放这个mp3?.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ramadan);

    //Call HTML Files
    WebView myWebView = (WebView) findViewById(R.id.web_engine);

    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    myWebView.loadUrl("file:///android_asset/index.html");


}

public void audioPlayer() {
        //set up MediaPlayer    
        MediaPlayer mp = new MediaPlayer();

        try {
            AssetFileDescriptor descriptor = getAssets().openFd("Azan.mp3");
            mp.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
            descriptor.close();
            mp.prepare();
            mp.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 <div class="switch demo3">
        <input type="checkbox" >
        <label><i></i></label>
      </div>
4

1 回答 1

0

只需实现 Java 脚本接口,JavaScript 和您的应用程序之间的通信就可以通过WebView.addJavascriptInterface().

参考:将 JavaScript 代码绑定到 Android 代码

例如,您可以在 Android 应用程序中包含以下类:

public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

然后在你的活动中

WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");

现在在 html

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />

<script type="text/javascript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>
于 2013-06-21T09:22:29.407 回答