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


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

[html] view plain copy print ?
  1. <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
  2. <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>

webview加载URL以及相关设置

[html] view plain copy print ?
  1. privatevoidloadUrl(){
  2. browser.getSettings().setJavaScriptEnabled(true);
  3. browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
  4. browser.getSettings().setGeolocationEnabled(true);
  5. GeoClientgeo=newGeoClient();
  6. browser.setWebViewClient(newPTCWebViewClient(this,browser));
  7. browser.setWebChromeClient(geo);
  8. Stringorigin="";
  9. geo.onGeolocationPermissionsShowPrompt(origin,this);
  10. browser.loadUrl("http://www.mytransport.sg");
  11. }

PTCWebViewClient.java

[java] view plain copy print ?
  1. publicclassPTCWebViewClientextendsWebViewClient{
  2. privateProgressDialogpd;
  3. publicPTCWebViewClient(Contextcon,finalWebViewweb){
  4. pd=newProgressDialog(con);
  5. pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  6. pd.setTitle("MTCLTA");
  7. pd.setMessage("Loading,pleasewait...");
  8. pd.setIcon(R.drawable.icon);
  9. pd.setButton("Cancel",newProgressDialog.OnClickListener(){
  10. @Override
  11. publicvoidonClick(DialogInterfacedialog,intwhich){
  12. web.stopLoading();
  13. }
  14. });
  15. pd.setIndeterminate(false);
  16. pd.setCancelable(true);
  17. }
  18. @Override
  19. publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){
  20. view.loadUrl(url);
  21. returntrue;
  22. }
  23. @Override
  24. publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon){
  25. super.onPageStarted(view,url,favicon);
  26. pd.show();
  27. }
  28. @Override
  29. publicvoidonPageFinished(WebViewview,Stringurl){
  30. super.onPageFinished(view,url);
  31. pd.dismiss();
  32. }
  33. }

GeoClient.java

[java] view plain copy print ?
  1. classGeoClientextendsWebChromeClient{
  2. @Override
  3. publicvoidonGeolocationPermissionsShowPrompt(Stringorigin,
  4. Callbackcallback){
  5. super.onGeolocationPermissionsShowPrompt(origin,callback);
  6. callback.invoke(origin,true,false);
  7. }
  8. }

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. [Android面试题-3] Activity的四种加载模式
  3. Picasso网络图片加载 (毕加索)
  4. Android(安卓)短信转换成彩信的消息数量(实例代码)
  5. Android(安卓)抓包分析
  6. 开源项目之Android-GL(OpenGL 编程)
  7. Android中打电话的数据流程分析
  8. Android(安卓)Studio 快捷键中英文对译
  9. Android(安卓)APK报错:java.io.IOException: Permission denied

随机推荐

  1. IOS、Android自动化测试框架Appium概述
  2. Android-Module:AutoCompleteTextView常用
  3. android EditText获取光标位置并安插字符
  4. android > layout > background 背景图片
  5. Android的RelativeLayout的view的layout_
  6. Android Studio解决Java程序输出中文乱码
  7. 字符串与字典之间的相互转换-Python
  8. android中自定义组件
  9. Android 绘图中的抗锯齿处理
  10. Context.startForegroundService() did n