国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

android中webview定位問(wèn)題示例詳解

2019-12-12 01:32:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

現(xiàn)在很多App里都內(nèi)置了Web網(wǎng)頁(yè)(Hyprid App),比如說(shuō)很多電商平臺(tái),淘寶、京東、聚劃算等等

京東首頁(yè)

那么這種該如何實(shí)現(xiàn)呢?其實(shí)這是Android里一個(gè)叫WebView的組件實(shí)現(xiàn)的。

最近在做安卓的網(wǎng)頁(yè)開(kāi)發(fā)。有一個(gè)頁(yè)面需要用到定位,但是一直定位獲取失敗。很難過(guò)。網(wǎng)上教程也很多,但是無(wú)一例外全部失敗。最后老夫花了3天時(shí)間,嘔心瀝血,終于研制出了解決方案。

三步走戰(zhàn)略:

一、獲取權(quán)限

android 6.0 以后,需要?jiǎng)討B(tài)的獲取位置或者存儲(chǔ)權(quán)限,按照各自的愛(ài)好放置位置。我是應(yīng)用開(kāi)啟初始化的時(shí)候,放在MainActivity中的OnCreate方法里。

 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)  != PackageManager.PERMISSION_GRANTED  || ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)  != PackageManager.PERMISSION_GRANTED  || ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)  != PackageManager.PERMISSION_GRANTED) {  Toast.makeText(getApplicationContext(),"沒(méi)有權(quán)限,請(qǐng)手動(dòng)開(kāi)啟定位權(quán)限",Toast.LENGTH_SHORT).show();  // 申請(qǐng)一個(gè)(或多個(gè))權(quán)限,并提供用于回調(diào)返回的獲取碼(用戶(hù)定義)  ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100);  return false; }

二、webview setting 設(shè)置(復(fù)制了別人代碼)

WebView webView = (WebView)findViewById(R.id.webview); WebSettings webSettings = webView.getSettings();  //webview支持js腳本 webSettings.setJavaScriptEnabled(true);  //啟用數(shù)據(jù)庫(kù) webSettings.setDatabaseEnabled(true);  //設(shè)置定位的數(shù)據(jù)庫(kù)路徑 String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); webSettings.setGeolocationDatabasePath(dir);  //啟用地理定位 webSettings.setGeolocationEnabled(true);  //開(kāi)啟DomStorage緩存 webSettings.setDomStorageEnabled(true)  //配置權(quán)限 webView.setWebChromeClient(new WebChromeClient() {  @Override  public void onReceivedIcon(WebView view, Bitmap icon) {  super.onReceivedIcon(view, icon);  }  @Override public void onGeolocationPermissionsShowPrompt(String origin,Callback callback) {  callback.invoke(origin, true, false);  super.onGeolocationPermissionsShowPrompt(origin, callback);  } }); 

三 網(wǎng)絡(luò)權(quán)限

 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

網(wǎng)上的教程到這里就結(jié)束了。一般都會(huì)告訴你,朋友你定位能用了。然而我并不能用啊!!!

檢查來(lái)檢查去。沒(méi)啥毛病啊。一模一樣啊!

四 build gradle (我用的是as )修改

自己app的build.gradle 里面一個(gè)targetSdkVersion 23 (為什么寫(xiě)23 高德地圖告訴我的)

然后你的工程地圖能用了。

參考網(wǎng)站:http://blog.csdn.net/cheunjq/article/details/54729875

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 堆龙德庆县| 台中市| 都江堰市| 梧州市| 广元市| 鸡东县| 新民市| 梨树县| 夹江县| 南阳市| 松潘县| 民和| 潜江市| 镇坪县| 丰宁| 上蔡县| 永和县| 花垣县| 泸西县| 安宁市| 南阳市| 新龙县| 泗阳县| 共和县| 鞍山市| 明光市| 新田县| 微山县| 双牌县| 湖口县| 锡林浩特市| 大关县| 增城市| 苏州市| 苏尼特右旗| 忻城县| 木里| 肃南| 丰镇市| 洛扎县| 武陟县|