热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Android】使用模拟位置,关闭模拟位置后GPS启动不了

问题描述:

问题描述:



1
应用中开启了模拟位置,当应用关闭或者在应用中手动关闭模拟位置后,手机的GPS无法启动,必须重启手机才能恢复正常。

代码详情:
LocationManager的初始设置(应用本身也需要开启GPS)

1
2
3
4
locatiOnManager= (LocationManager) getSystemService(Context.LOCATION_SERVICE);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

locationManager.addGpsStatusListener(gpsStatusListener);

locationManager.addNmeaListener(nmeaListener);

开启模拟位置,覆盖掉GPS时的代码如下(通过点击事件开启的):



1
2
3
mMockProviderName = LocationManager.GPS_PROVIDER;

locationManager.setTestProviderEnabled(mMockProviderName, true);

locationManager.requestLocationUpdates(mMockProviderName, 1000, 0, locationListener);

点击关闭模拟位置时的代码如下:

1
2
3
locationManager.setTestProviderEnabled(mMockProviderName, false);                        

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

locationManager.removeTestProvider(mMockProviderName);

程序退出时关闭模拟位置的代码如下

1
2
3
4
5
locationManager.setTestProviderEnabled(mMockProviderName, false);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

locationManager.removeTestProvider(mMockProviderName);

locationManager.removeUpdates(locationListener); locationManager.removeGpsStatusListener(gpsStatusListener);      

locationManager.removeNmeaListener(nmeaListener);

基本上都是按照官方文档来的,该现象在google上搜索了一番,并没有发现类似问题的解决办法。想请教一下各位出现如问题所述的现象是什么原因,如何修改。


   



推荐阅读
author-avatar
刘少静mm_527
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有