我希望在WebView
环境中获取并显示来自服务器的文本,并且使用WebView
类在Toast
我想要显示相同消息的消息中获取消息。我编写了以下代码但它没有显示Toast
类的文本。
<?php
echo "Hello";
?>
和
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//WebView Object
WebView browser;
browser = (WebView) findViewById(R.id.webView);
//Enable Javascript
browser.getSettings().setJavaScriptEnabled(true);
//Inject WebAppInterface methods into Web page by having Interface name 'Android'
browser.addJavascriptInterface(new WebAppInterface(this), "Android");
//Load URL inside WebView
String s = "http://127.0.0.1:8080/apps/webview.php";
browser.loadUrl(s);
}
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/**
* Show Toast Message
* @param toast
*/
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}}
答案 0 :(得分:1)
您必须致电Android.showToast("hello")
Android 是您Javascript Interface
的名称。然后使用它,您可以调用showToast()
函数
调用JavaScript函数
<script>
function showMessage(msg) {
Android.showToast(msg);
}
</script>