第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

android webview地理定位

android webview地理定位

慕桂英546537 2019-07-31 18:11:14
android webview地理定位我必須在a中檢索用戶的位置WebView。我使用以下Javascript執(zhí)行此操作:function getLocation() {    navigator.geolocation.getCurrentPosition(displayLocation, handleError);}但是權(quán)限請求彈出窗口永遠(yuǎn)不會打開。我設(shè)置了這些設(shè)置:ws.setJavaScriptEnabled(true);ws.setGeolocationEnabled(true);ws.setJavaScriptCanOpenWindowsAutomatically(true);從一個(gè)位置訪問用戶位置的正確方法是WebView什么?
查看完整描述

3 回答

?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊

  • 必須在WebView使用中啟用JavaScriptWebSettings.setJavaScriptEnabled(true);

  • 該應(yīng)用需要許可 ACCESS_FINE_LOCATION

  • WebView必須使用自定義WebChromeClient它實(shí)現(xiàn)WebChromeClient.onGeolocationPermissionsShowPrompt()。該方法被調(diào)用WebView以獲得向JavaScript公開用戶位置的許可。(對于瀏覽器,我們向用戶顯示提示。)默認(rèn)實(shí)現(xiàn)不執(zhí)行任何操作,因此永遠(yuǎn)不會獲得權(quán)限,并且該位置永遠(yuǎn)不會傳遞給JavaScript。一個(gè)總是授予權(quán)限的簡單實(shí)現(xiàn)是......

    webView.setWebChromeClient(new WebChromeClient() {
     public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
        callback.invoke(origin, true, false);
     }});

地理定位使用數(shù)據(jù)庫在會話之間保留緩存的位置和權(quán)限。使用設(shè)置數(shù)據(jù)庫的位置WebSettings.setGeolocationDatabasePath(...)。如果未設(shè)置數(shù)據(jù)庫的位置,則永久存儲將不可用,但Geolocation將繼續(xù)正常運(yùn)行。要設(shè)置數(shù)據(jù)庫的位置,請使用...

webView.getSettings().setGeolocationDatabasePath( context.getFilesDir().getPath() );



查看完整回答
反對 回復(fù) 2019-07-31
?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

您是否在清單中聲明了該許可?


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

您可能還需要聲明其他位置權(quán)限,例如:


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

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

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

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

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


查看完整回答
反對 回復(fù) 2019-07-31
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

接受或拒絕用戶位置的對話框由程序員設(shè)計(jì):D。正如Chris Cashwell所說,你只需使用這樣的回調(diào):

webview.setWebChromeClient(new WebChromeClient(){
  public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
    // callback.invoke(String origin, boolean allow, boolean remember);
    callback.invoke(origin, true, false);
  }}

在某些情況下,HTML5需要使用存儲,您必須啟用一些屬性,以便webview具有正常運(yùn)行的完全訪問權(quán)限。

    // HTML5 API flags
    webView.getSettings().setAppCacheEnabled(true);
    webView.getSettings().setDatabaseEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);


查看完整回答
反對 回復(fù) 2019-07-31
  • 3 回答
  • 0 關(guān)注
  • 677 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號