|
不做過多解釋代碼全貼在下面。 首先想要用到手機(jī)的LBS功能,必須在androidManifest.xml中請(qǐng)求權(quán)限.
1.<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 2.<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
webview加載URL以及相關(guān)設(shè)置 01.private void loadUrl(){ 02.browser.getSettings().setJavaScriptEnabled(true); 03.browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 04.browser.getSettings().setGeolocationEnabled(true); 05.GeoClient geo = new GeoClient(); 06.browser.setWebViewClient(new PTCWebViewClient(this, browser)); 07.browser.setWebChromeClient(geo); 08.String origin = ""; 09.geo.onGeolocationPermissionsShowPrompt(origin, this); 10.browser.loadUrl("http://www."); 11.} PTCWebViewClient.java 01.public class PTCWebViewClient extends WebViewClient { 02. 03.private ProgressDialog pd; 04. 05.public PTCWebViewClient(Context con, final WebView web){ 06.pd = new ProgressDialog(con); 07.pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); 08.pd.setTitle("MTC LTA"); 09.pd.setMessage("Loading, please wait..."); 10.pd.setIcon(R.drawable.icon); 11.pd.setButton("Cancel", new ProgressDialog.OnClickListener(){ 12.@Override 13.public void onClick(DialogInterface dialog, int which) { 14.web.stopLoading(); 15.} 16.}); 17.pd.setIndeterminate(false); 18.pd.setCancelable(true); 19.} 20. 21.@Override 22.public boolean shouldOverrideUrlLoading(WebView view, String url) { 23.view.loadUrl(url); 24.return true; 25.} 26.@Override 27.public void onPageStarted(WebView view, String url, Bitmap favicon) { 28.super.onPageStarted(view, url, favicon); 29.pd.show(); 30.} 31.@Override 32.public void onPageFinished(WebView view, String url) { 33.super.onPageFinished(view, url); 34.pd.dismiss(); 35.} 36.} GeoClient.java 01.class GeoClient extends WebChromeClient { 02. 03.@Override 04.public void onGeolocationPermissionsShowPrompt(String origin, 05.Callback callback) { 06.super.onGeolocationPermissionsShowPrompt(origin, callback); 07.callback.invoke(origin, true, false); 08.} 09.} |
|
|