我的应用程序中有一个webView。webView最初会打开一个我创建的HTML页面,页面上有几个按钮。这些按钮执行各种任务(我正在尝试学习如何使用webView),例如:1)显示android toast,2)显示javascript警报,3)振动手机,4)显示当前地理位置,5)在webView中打开谷歌地图。
最后一个坏了。我搜索过这个网站和其他很多网站,但没有找到一个有效的解决方案。
我相当肯定我有所有的清单文件'东西'正确(其他一切都在工作,包括最初的基于互联网的网页)。如果你认为有必要,我也很乐意发布。
我的活动是主要的。xml文件从来并没有给我带来过问题,但再一次,若你们认为它会有帮助的话,我很乐意发布它。
以下是我的代码片段:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.webView);
myWebView.loadUrl(url); // this one works
myWebView.setWebViewClient(new MyWebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setBuiltInZoomControls(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setGeolocationEnabled(true);
...
}
所有这些都可以工作,其他html按钮也可以工作。然后是这个:
public class WebAppInterface {
Context mContext;
//** Instantiate the interface and set the context *//
WebAppInterface(Context c) {
mContext = c;
}
//** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
@JavascriptInterface
public void vibrateDevice() {
Vibrator mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.vibrate(500);
}
@JavascriptInterface
public void showMapCurPos() {
new Handler().post(new Runnable() {
String url2 = "http://www.google.com/maps/@53.001153,-95.0752916,15z";
@Override
public void run() {
myWebView.clearCache(true);//Here you call the methond in UI thread
myWebView.loadUrl(url2);
}
});
}
}
一切都在那里工作,除了show MapCurPos()。我已经尝试了一个简单的myWebView.loadUrl(...)以及几次尝试。根据我所尝试的,有时该方法会使应用程序崩溃,但大多数情况下,新网址不会显示,而是停留在原始网址上。
请原谅我,如果这是一个重复的问题,但我真的搜索了这个网站和其他许多人的答案(可能是整整8个小时左右)。我试过很多这样的答案,但都没有用。我猜这很简单,与我对网络视图、活动、意图或所有三者缺乏了解有关,甚至可能与我对android开发的陌生感有关。
我还不能写评论,所以我写这个作为回答。
你可以试试这个答案:
myWebView.post(new Runnable() {...});
而不是使用new Handler
我试图创建一个简单的HTML表单,通过MySQL保存信息,但我有一些问题连接到数据库。我认为$db_selected=mysql_select_db(DB_NAME,$link);给了我问题。仅供参考DB_NAME是我要使用的数据库表。 超文本标记语言 我的PHP
我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加
我正在使用ITextRenderer从html生成PDF。然而,我得到以下异常: 你能帮帮我吗? 任何帮助都将不胜感激。 先谢谢你。
我正在工作的工具提示和从后端我将获得数据与html标记。我需要在工具提示中显示相应的标签中的相应数据。例如,我将从后端获得Hello用户单击此处。我必须显示为你好用户在h1格式,点击这里应该是一个锚。我尝试了这两个功能,并取代其不工作。 具有以下功能: 替换: https://codesandbox.io/s/serene-fast-u8fie?file=/App.svelte
我正在用HTML发送一封电子邮件时事通讯。在HTML中,我有如下内容
我在jQuery中看到了这一点——它做了什么?