//我是新的phonegap应用程序,我想在mainActivity中实现一个方法,我想在javascript中使用这个方法,我怎样才能在javascript中调用这个方法。
public class MainActivity extends CordovaActivity
{
private HelloPlugin mc;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
super.loadUrl(Config.getStartUrl());
// super.loadUrl("file:///assets/www/index.html");
}
public void customFunctionCalled() {
Log.e("Custom Function Called", "Custom Function Called");
Toast.makeText(getApplicationContext(), "asas", 1000).show();
}
}
//html with javascript code:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
function callNewActivity() {
window.MainActivity.customFunctionCalled();
}
</script>
<p>This is my first app.</p>
<button class="btn" onclick="callNewActivity()" type="submit">Button</button>
</body>
</html>
答案 0 :(得分:1)
有两种方式:
1.- kathir提出的方式,它是最简单的&#34;如果你不想搞乱mainActivity的话。只需创建一个phonegap插件并将java函数放在其上。
2.-由于您已经在使用mainActivity,因此可以使用允许您从javascript调用执行java的javascriptInterface。例如:
在你的mainActivity.java onCreate方法中输入:
yourCordovaWebview.addJavascriptInterface(this, "yourJavascriptIntearfaceName");
那么你想从javascript执行的方法应该有一个@JavascriptInterface
。例如:
@JavascriptInterface
public void yourJavaMethod(){
//Do somethig here
}
这就是全部,现在你只需要像这样调用java函数:
window.yourJavascriptIntearfaceName.yourJavaMethod();
答案 1 :(得分:0)