Android JavaScript与asp.net的接口
我正在开发一个android应用程序。我需要从web视图调用android函数。我从互联网上找到一段代码,它使用JavaScript从HTML页面调用android toast消息。该代码在HTML页面上正常工作,但在使用asp.net web表单时不起作用。在这里,我与您共享该代码。请告诉我如何使用asp.net web表单实现此过程。提前谢谢 Android活动代码:Android JavaScript与asp.net的接口,javascript,android,asp.net,Javascript,Android,Asp.net,我正在开发一个android应用程序。我需要从web视图调用android函数。我从互联网上找到一段代码,它使用JavaScript从HTML页面调用android toast消息。该代码在HTML页面上正常工作,但在使用asp.net web表单时不起作用。在这里,我与您共享该代码。请告诉我如何使用asp.net web表单实现此过程。提前谢谢 Android活动代码: public class MainActivity extends Activity { @Override
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView)findViewById(R.id.web_view);
webView.loadUrl("file:///android_res/drawable/mypage.html");
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebViewJavaScriptInterface(this), "app");
}
public class WebViewJavaScriptInterface{
private Context context;
public WebViewJavaScriptInterface(Context context){
this.context = context;
}
@JavascriptInterface
public void makeToast(String message, boolean lengthLong){
Toast.makeText(context, message, (lengthLong ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT)).show();
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView android:id="@+id/web_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</RelativeLayout>
活动布局:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView)findViewById(R.id.web_view);
webView.loadUrl("file:///android_res/drawable/mypage.html");
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebViewJavaScriptInterface(this), "app");
}
public class WebViewJavaScriptInterface{
private Context context;
public WebViewJavaScriptInterface(Context context){
this.context = context;
}
@JavascriptInterface
public void makeToast(String message, boolean lengthLong){
Toast.makeText(context, message, (lengthLong ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT)).show();
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView android:id="@+id/web_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</RelativeLayout>
HTML页面:
<!DOCTYPE html>
<html>
<head>
<title>JavaScript View</title>
<script type="text/javascript">
function showToast(){
var message = document.getElementById("message").value;
var lengthLong = document.getElementById("length").checked;
app.makeToast(message, lengthLong);
return false;
}
window.onload = function(){
var form = document.getElementById("form");
form.onsubmit = showToast;
}
</script>
</head>
<body>
<form id="form">
Message: <input id="message" name="message" type="text"/><br />
Long: <input id="length" name="length" type="checkbox" /><br />
<input type="submit" value="Make Toast" />
</form>
</body>
</html>
JavaScript视图
函数showtoots(){
var message=document.getElementById(“message”).value;
var lengthLong=document.getElementById(“长度”)。已选中;
应用程序MakeToos(消息,长度);
返回false;
}
window.onload=函数(){
var form=document.getElementById(“表单”);
form.onsubmit=showtoos;
}
消息:
长:
将您的HTML页面资源文件夹或原始文件夹放入可绘制的图像资源中
并确保在设置JavaScript桥之后在webview的末尾加载URL 代码可以正确处理html页面,但我需要在asp.net中实现此过程。我在asp.net web表单中尝试了上面的java脚本,但它不起作用。有什么建议吗?试一下在末尾加上load ur。我想Asp.net或php或其他任何东西都无关紧要。尝试添加日志n断点检查您的方法是否被调用您是否发现了问题?我尝试在末尾添加加载url,然后它工作正常。非常感谢你苏珊特在这里不是苏珊特