没有合适的资源?快使用搜索试试~ 我知道了~
首页Android GPS室内定位问题的解决方法(location为null)
资源详情
资源评论
资源推荐
Android GPS室内定位问题的解决方法(室内定位问题的解决方法(location为为null))
主要为大家详细介绍了Android GPS室内定位问题的解决方法,location为null,具有一定的参考价值,感兴趣的
小伙伴们可以参考一下
为什么室内没有为什么室内没有location呢?呢?
因为我们开发的时候几乎肯定都是在室内的,这个时候卫星你是搜索不到的,所以必然是定位不了的,所以系统如何将位
置信息通知给你的程序。所以要从根本上解决这个问题,就要解决位置信息获取问题。
那么我来告诉大家,只有NETWORK_PROVIDER这种模式才是室内定位可靠的方式,就是当location为null的时候只要
用这个,NETWORK_PROVIDER。
不过直接用大家也是用不了的,为啥呢,因为大部分厂商也不会用google的服务,这种定位方式默认是没法用的。那怎
么办?好办,找个替代的服务商就可以了,百度或者高德的位置信息sdk就可以解决这个问题。它的基本原理在上面已经提到
过了,就是搜集你的wifi节点信息和你的手机基站信息来定位。
本篇文章我们来用百度解决。
用百度位置定位SDK
SDK下载:http://lbsyun.baidu.com/sdk/download
SDK使用:
1. 申请百度的服务密钥,具体操作步骤见官网:http://api.map.baidu.com/lbsapi/cloud/geosdk.htm
2.将上面下载的sdk文件locSDK_4.1.jar拷贝到你项目的libs下
3. 修改AndroidManifest文件,在该文件里添加如下配置
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote" >
</service>
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="xxxxx " />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
上面meta-data中value的值改为你自己的密钥
代码里调用sdk:
public class LocationUtil {
private final static boolean DEBUG = true;
private final static String TAG = "LocationUtil";
private static LocationUtil mInstance;
private BDLocation mLocation = null;
private MLocation mBaseLocation = new MLocation();
public static LocationUtil getInstance(Context context) {
if (mInstance == null) {
mInstance = new LocationUtil(context);
}
return mInstance;
}
Context mContext;
String mProvider;
public BDLocationListener myListener = new MyLocationListener();
private LocationClient mLocationClient;
public LocationUtil(Context context) {
mLocationClient = new LocationClient(context.getApplicationContext());
initParams();
mLocationClient.registerLocationListener(myListener);
}
public void startMonitor() {
if (DEBUG) Log.d(TAG, "start monitor location");
if (!mLocationClient.isStarted()) {
mLocationClient.start();
}
if (mLocationClient != null && mLocationClient.isStarted()) {
mLocationClient.requestLocation();
} else {
Log.d("LocSDK3", "locClient is null or not started");
}
}
weixin_38500944
- 粉丝: 7
- 资源: 943
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5