gpt4 book ai didi

java - 在 Cordova 中单击 html 按钮时启动新 Activity

转载 作者:行者123 更新时间:2023-11-29 21:57:11 25 4
gpt4 key购买 nike

我正在尝试使用 Cordova 和 Java 构建 Android 应用程序。我想构建在 HTML 代码中单击按钮时启动新 Intent 的 Intent。

这是我的 HTML 代码:

<!DOCTYPE html>
<html>
<head>
<title>Demo Phonegap</title>
<script type="text/javascript" charset="utf-8" src="cordova.js">
</script>
</head>
<body>
<h2>Hello Android</h2>
<button onclick="openNewActivity()">test</button>
</body>
</html>

这是我的 Java 代码:

public class MyActivity extends DroidGap {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
super.loadUrl("file:///android_asset/www/index.html");
}

public void NewIntent()
{
Intent i = new Intent(this,HelpActivity.class);
startActivity(i);
}
}

如何在不构建插件的情况下从 html 文件中调用 NewIntent() void。

谢谢解答哈姆。

编辑:我将 phonegap 用于我的应用程序的 GUI。我想在 cordova html 文件中单击按钮时调用另一个 Activity 。

最佳答案

我不知道你为什么要在 DroidGap 中开始一个 Activity 。但是如果你想在 Html 的按钮点击上执行一些原生的 android 代码,你可以使用这种方法。

您必须为 WebView 使用 JavascriptInterface

示例代码 fragment :

//in onCreate 
appView.addJavascriptInterface(new MyJSInterface(),
"myJSInterface");
super.loadUrl("file:///android_asset/www/index.html");


//JSInterface class
public class MyJSInterface {

public MyJSInterface() {
// TODO Auto-generated constructor stub
Log.i(TAG, "constructor of jsinterface");
}

public void btnClick () {
//do something
}
}

在你的 html 中:

<button onclick="callFunction()">test</button>

在你的js中:

function callFunction(){
myJSInterface.btnClick();
}

希望这对您有所帮助。

关于java - 在 Cordova 中单击 html 按钮时启动新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25911025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com