您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“如何在android中設置webview的定位權限”,內容詳細,步驟清晰,細節處理妥當,希望這篇“如何在android中設置webview的定位權限”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
如下所示:
WebView webView = (WebView)findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); //webview支持js腳本 webSettings.setJavaScriptEnabled(true); //啟用數據庫 webSettings.setDatabaseEnabled(true); //設置定位的數據庫路徑 String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); webSettings.setGeolocationDatabasePath(dir); //啟用地理定位 webSettings.setGeolocationEnabled(true); //開啟DomStorage緩存 webSettings.setDomStorageEnabled(true) //配置權限 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); } });
//在Androidmanifest.xml中開啟權限 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Android6.0版本需要加上:
if (Build.VERSION.SDK_INT >= 23) { int checkPermission = ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION); if (checkPermission != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1); ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); Log.d("TTTT", "彈出提示"); } }
讀到這里,這篇“如何在android中設置webview的定位權限”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。