2015年3月3日 星期二

Android Phonegap App中Native與Javascript溝通的範例

一、首先建立一個類別:

public class MyJavaScript
{
    private WebView mAppView;
    private DroidGap mGap;
    
    public MyJavaScript (DroidGap gap, WebView view)
    {
        mAppView = view;
        mGap = gap;
    }
    
    @JavascriptInterface //文件說4.2之後須增加這一行,但是實際測試不加亦沒問題。
    public String test(String name)
    {
        return "Hello, " + name;

    }
}

二、讓WebView增加MyJavaScript:

請注意下面的程式必須在super.loadUrl("file:///android_asset/www/index.htm");之後,因為appView在這個之後才存在實例,否則appView為null就會導致下面的程式發生例外。

try
{
        appView.addJavascriptInterface(
                       new MyJavaScript(thisthis.appView),"MyAndroidFunctions");
}
catch(Exception e)
{
        Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();
}

三、在javascript中測試:

alert(MyAndroidFunctions.test("World!"));

沒有留言:

張貼留言