android 与H5交互之使用GPS定位
2016-03-07 16:17
288 查看
方法很简单 ,设置 WebSettings 和 WebChromeClient 就ok
不过在这之前要先配置权限(有两个地方):
一个是清单文件中
一个是在 WebChromeClient 中实现的方法
然后呢就是主要代码:
后面的参考已经不仅仅是说在H5中定位,有兴趣自己了解,
参考:
[Android WebView 无法打开天猫页面]
(http://ryanhoo.github.io/blog/2014/09/17/android-webview-setdomstorageenabled/);
[Web_Storage_API]
(https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API);
StakeOverflow: What does “enable DOM storage API”
mean?(http://stackoverflow.com/questions/5858760/what-does-enable-dom-storage-api-mean);
[Dive into HTML5: LOCAL STORAGE]
(http://diveintohtml5.info/detect.html)
[HTML5之Web Storage(本地存储)详解] (http://blog.baiwand.com/?post=184)
不过在这之前要先配置权限(有两个地方):
一个是清单文件中
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
一个是在 WebChromeClient 中实现的方法
// 配置权限 private class MyWebChromeClient extends WebChromeClient { @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); } }
然后呢就是主要代码:
WebSettings webSettings = webView.getSettings(); //启用数据库 webSettings.setDatabaseEnabled(true); String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); // 启用地理定位 webSettings.setGeolocationEnabled(true); // 设置定位的数据库路径 webSettings.setGeolocationDatabasePath(dir); // 最重要的方法,一定要设置,这就是出不来的主要原因 原因请看参考链接(Android WebView 无法打开天猫页面) webSettings.setDomStorageEnabled(true); private class MyWebChromeClient extends WebChromeClient { @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); } }
后面的参考已经不仅仅是说在H5中定位,有兴趣自己了解,
参考:
[Android WebView 无法打开天猫页面]
(http://ryanhoo.github.io/blog/2014/09/17/android-webview-setdomstorageenabled/);
[Web_Storage_API]
(https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API);
StakeOverflow: What does “enable DOM storage API”
mean?(http://stackoverflow.com/questions/5858760/what-does-enable-dom-storage-api-mean);
[Dive into HTML5: LOCAL STORAGE]
(http://diveintohtml5.info/detect.html)
[HTML5之Web Storage(本地存储)详解] (http://blog.baiwand.com/?post=184)
相关文章推荐
- Android Voip开发总结
- android布局大全
- Android安全输入设计与思考
- Android 5.0学习之AnimatedVectorDrawable
- Android VectorDrawable与SVG
- Android MediaStore裁剪图片分析
- android DiskLruCache解析,硬盘缓存
- Android系统启动过程详解
- android事件总线EventBus解析
- Android简单判断是否联网
- Android事件分发机制
- Android加载Gif和ImageView的通用解决方案:android-gif-drawable(1)
- android框架
- android studio的上手体验--设置篇
- Android java List 转Json格式
- android studio中ListView与SQLite的结合使用
- android开发系列之消息机制
- Volley+Gson
- 利用Cydia Substrate进行Android HOOK(2)
- android BaseExpandableListAdapter 二级菜单适配器