不做过多解释代码全贴在下面。


首先想要用到手机的LBS功能,必须在androidManifest.xml中请求权限.

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

webview加载URL以及相关设置

private void loadUrl(){    browser.getSettings().setJavaScriptEnabled(true);    browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);    browser.getSettings().setGeolocationEnabled(true);    GeoClient geo = new GeoClient();    browser.setWebViewClient(new PTCWebViewClient(this, browser));    browser.setWebChromeClient(geo);    String origin = "";    geo.onGeolocationPermissionsShowPrompt(origin, this);browser.loadUrl("http://www.mytransport.sg");    }

PTCWebViewClient.java

public class PTCWebViewClient extends WebViewClient {private ProgressDialog pd;public PTCWebViewClient(Context con, final WebView web){pd = new ProgressDialog(con);pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);pd.setTitle("MTC LTA");pd.setMessage("Loading, please wait...");pd.setIcon(R.drawable.icon);pd.setButton("Cancel", new ProgressDialog.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {web.stopLoading();}});pd.setIndeterminate(false);pd.setCancelable(true);}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);pd.show();}@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);pd.dismiss();}}

GeoClient.java

class GeoClient extends WebChromeClient {    @Override    public void onGeolocationPermissionsShowPrompt(String origin,    Callback callback) {    super.onGeolocationPermissionsShowPrompt(origin, callback);    callback.invoke(origin, true, false);    }    }



更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. DatePickerDialog 自定义样式及使用全解
  3. android UI 的去标题栏和去状态栏(全屏)
  4. Android(安卓)新的锁屏接口的实现
  5. Android(安卓)APP —— “时光摄影”的搭建手记(四)
  6. Bugly全量更新快速集成(Android)
  7. 关于android 1.6全部的权限介绍
  8. Android(安卓)Studio与eclipse常用快捷键对比
  9. Android(安卓)MVP 使用教程

随机推荐

  1. 关于 Appium Android 真机测试
  2. Android 自定义view 和 onMeasure方法介
  3. Android下的Touch事件分发
  4. android获取assert资源文件
  5. Android判断touch事件点是否在view范围内
  6. Android SqlLite 学习
  7. Android 8.0 SystemUI(三)——StatusBar
  8. 图片的放大缩小
  9. Android延时执行调用的几种方法
  10. Android中的Activity的生命周期(图)