android webview权限申请_Android应用开发之android 6.0下webview的定位权限设置方法

本文详细介绍了在Android 6.0及以上版本中,如何为WebView设置定位权限,包括启用WebSettings、配置数据库路径、启用地理定位、处理权限回调,并在AndroidManifest.xml中添加权限声明。通过这些步骤,可以确保WebView应用能够正确请求和使用用户的地理位置信息。
摘要由CSDN通过智能技术生成

本文将带你了解Android应用开发android 6.0下webview的定位权限设置方法,希望本文对大家学Android有所帮助。

如下所示:

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中开启权限

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频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值