我正在开发一个安卓应用程序。
我已经使用 HTML5 和 javascript 为 android 创建了一些编码。并在 Native JAva 中创建了一个签名捕获应用程序
我想在 HTML5 应用程序中包含本机签名捕获编码。因为 HTML5 中的签名捕获不适用于触摸设备。
是否可以从 HTML5 phonegap android 应用程序调用本机 android 活动????
我正在开发一个安卓应用程序。
我已经使用 HTML5 和 javascript 为 android 创建了一些编码。并在 Native JAva 中创建了一个签名捕获应用程序
我想在 HTML5 应用程序中包含本机签名捕获编码。因为 HTML5 中的签名捕获不适用于触摸设备。
是否可以从 HTML5 phonegap android 应用程序调用本机 android 活动????
任何 Java Native 代码调用都可以在不使用任何插件的情况下调用,如下所示。
请按照以下步骤操作。
1) 将以下代码替换为您现有的 DroidGap Activity。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init(); // Calling this is necessary to make this work
appView.addJavascriptInterface(this, "MainActivity");
/* "this" points the to the object of the current activity. "MainActivity" is used to refer "this" object in JavaScript as in Step 3. */
super.loadUrl("file:///android_asset/www/index.html");
}
2 在当前 (this) 活动中添加自定义函数,如下所示。
public void customFunctionCalled() {
Log.e("Custom Function Called", "Custom Function Called");
}
3 现在从您的 HTML/JavaScript 代码调用此函数,如下所示。
<script type="text/javascript">
function callNewActivity() {
window.MainActivity.customFunctionCalled();
}
对的,这是可能的。
为了做同样的事情,你需要将cordova lib添加到你的android项目中,并且通过扩展Plugin
类在android中创建一个插件。
execute()
您可以从您的 javascript 中调用名为的覆盖方法。
请记住,您需要将包含执行文件夹的类的路径定义到config.xml
.
请访问下面的完整指南。