我搜索过高低,发现了很多这样的例子,但无法让它工作,我的设置目前是:
Notifier.java
public class Notifier{
Context mContext;
Notifier(Context c) {
mContext = c;
}
@JavascriptInterface
public void showText()
{
Toast.makeText(mContext, "Some text!", Toast.LENGTH_LONG).show();
}
}
SearchLicenseActivity.java
public class SearchLicenseActivity extends Activity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_license);
LoadSearch();
}
public void LoadSearch(){
webView = (WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new Notifier(this), "Android");
webView.loadUrl("javascript:Android.showText();");
}
}
所以我期待着Toast展示。值得注意的是,当单击上一个Activity上的按钮时,会创建此SearchActivity;所以我希望它能够立即执行LoadSearch并从JavaScript中获取Toast。
我希望你们中的一个能解决我的困境!
编辑:我也没有在LogCat中收到任何错误。
答案 0 :(得分:0)
好的,事实证明webView必须加载一个网页。
即使网址是"关于:空白"这似乎有效。所以......
webView.loadUrl("about:blank");
webView.loadUrl("javascript:Android.showText();");
...作品。