android 6.0下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 6.0下webview的定位权限设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Android WebView 的简单使用

    Android WebView 1.首先修改activity.xml中的代码: 2.然后MainActivity中的代码: 3.最后设置权限: <uses-permission android:name="android.permission.INTERNET"/> 4.运行效果如下:(这样就不需调用系统默认浏览器) 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • Android WebView组件用法详解

    本文实例讲述了Android WebView组件用法.分享给大家供大家参考,具体如下: 如果想WebView能够访问网络,必须在AndroidManifest.xml里面添加权限 <uses-permission android:name="android.permission.INTERNET" /> main.xml很简单,就是一个WebView <?xml version="1.0" encoding="utf-8"?&g

  • WebView设置WebViewClient的方法

    WebView设置WebViewClient的方法 shouldOverrideUrlLoading: 在web页面里单击链接的时候,会自动调用android自带的浏览器来打开链接,需要通过该方法在本页面打开; @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } onLoadResource:加载资源时响应 onPageSta

  • Android关于WebView中无法定位的问题解决

    之前碰到个问题,使用webview的时候无法定位,最近19大没法墙,只能去百度逛逛,发现有人说要这么做 WebSettings settings = wbContent.getSettings(); settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setGeolocationEnabled(true); settings.setDomSto

  • android中webview定位问题示例详解

    前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝.京东.聚划算等等 京东首页 那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的. 最近在做安卓的网页开发.有一个页面需要用到定位,但是一直定位获取失败.很难过.网上教程也很多,但是无一例外全部失败.最后老夫花了3天时间,呕心沥血,终于研制出了解决方案. 三步走战略: 一.获取权限 android 6.0 以后,需要动态的获取位置或者存储权限,按照各自的爱好放置位置.我是应用开启

  • android 6.0下webview的定位权限设置方法

    如下所示: WebView webView = (WebView)findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); //webview支持js脚本 webSettings.setJavaScriptEnabled(true); //启用数据库 webSettings.setDatabaseEnabled(true); //设置定位的数据库路径 String dir = this.getAppl

  • vue2.0 下拉框默认标题设置方法

    昨天到今天,用vue2.0在写一个性别选择框,一给option添加seledted属性就报错这里 下面是报错的代码 ERROR in ./~/vue-loader/lib/template-compiler.js?id=data-v-c231dfa2!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/second.vue template syntax error <select v-model=&qu

  • Android 7.0系统webview 显示https页面空白处理方法

    最近开发的时候,偶尔遇到在线上稳定运行的webview内嵌的h5页面加载不出来,一直定位不到具体原因(因为我们自己做的兼容性测试上不重现),看系统日志也没有发现什么问题,后来咨询了用户手机的型号,发现是7.0或者6.0以上的个别机型会出现. 后来借到了一台业务的手机,型号是:三星 S6 EDGE,SM-G9205,在大多数机型上运行正常的页面,在这个机器上如下图: 这个页面在近期的变更是从http切换到https,由于之前的页面是http,我们在切换的时候,除了url之外,并未对webview的

  • android 6.0 写入SD卡的权限申请实例讲解

    6.0的手机对于写入手机需要申请权限的 我做了如下处理 下面我贴出代码 package com.example.admin.sdapplication; import android.Manifest; import android.app.Dialog; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.os.Build; import android

  • android 有阻尼下拉刷新列表的实现方法

    本文将会介绍有阻尼下拉刷新列表的实现,先来看看效果预览: 这是下拉状态: 这是下拉松开手指后listView回滚到刷新状态时的样子: 1. 如何调用 虽然效果图看起来样子不太好看,主要是因为那个蓝色的背景对不对,没关系,这只是一个背景而已,在了解了我们这个下拉刷新列表的实现之后,你就可以很轻松地修改这个背景,从而实现你想要的UI效果!话不多说,下面我们先来讲讲这个下拉刷新列表是如何使用的,这也是我们编写代码所要实现的目标. final PullToRefreshListView eListVie

  • Android 获取判断是否有悬浮窗权限的方法

    现在很多应用都会用到悬浮窗,很多国产rom把悬浮窗权限加入控制了,你就需要判断是否有悬浮窗权限,然后做对应操作. Android 原生有自带权限管理的,只是被隐藏了.看android源码在android.app下就有个AppOpsManager类. 类说明如下: /** * API for interacting with "application operation" tracking. * * <p>This API is not generally intended

  • CentOS 7.0下使用yum安装mysql的方法详解

    CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mys

  • Android 6.0 无法在SD卡创建目录的方法

    摘要 今天开发中遇到一个问题,项目无法在Android6.0设备的SD卡创建目录,在Android6.0以下的移动设备测试了5.0 .4.3的设备,均正常,但是在Android6.0却不正常. 经过排查,执行下列代码无法在6.0的设备上面创建目录 File dir = new File(DbConfig.BASE_PATH); if (!dir.exists()) { dir.mkdirs(); } 衍生知识 2015年5月29日中Google I/O开发者大会,Google 发布了 Andro

  • android编程判断应用是否具有某个权限的方法

    本文实例讲述了android编程判断应用是否具有某个权限的方法.分享给大家供大家参考,具体如下: android在开发中有时候要判断应用中是否有某项权限,或者想获取到某个应用的权限清单,可以使用以下方法 1) 判断应用是否具有某个权限 PackageManager pm = getPackageManager(); boolean permission = (PackageManager.PERMISSION_GRANTED == pm.checkPermission("android.perm

  • linux操作系统下配置ssh/sftp和权限设置方法

    基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器 2.限定用户的活动目录,使用户只能在指定的目录下活动,使用 sftp 的 ChrootDirectory 配置 确定版本 #确保 ssh 的版本高于 4.8p1 否则升级一下 一般都高于这个版本 ssh -V 新建用户和用户组 #添加用户组 sftp groupadd sftp #添加用户

随机推荐