安卓60如何关闭安卓允许模拟位置置设置?

Android系统模拟位置的使用方法
作者:doris_d
字体:[ ] 类型:转载 时间:
这篇文章主要为大家详细介绍了Android系统模拟位置的使用方法,具有参考价值,感兴趣的小伙伴们可以参考一下
本文为大家分享了Android模拟位置的使用方法,支持Android6.0,供大家参考,具体内容如下
1、开启系统设置中的模拟位置
Android 6.0 以下:【开发者选项 -& 允许模拟位置】
Android 6.0 及以上:【开发者选项 -& 选择模拟位置信息应用】
AndroidManifest.xml
&uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&
2、判断是否开启了系统模拟位置
Android 6.0 以下:使用Settings.Secure.ALLOW_MOCK_LOCATION判断。
// Android 6.0 以下:是否开启【允许模拟位置】
boolean canMockPosition = Settings.Secure.getInt(getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0
Android 6.0 及以上:没有【允许模拟位置】选项,同时弃用了Settings.Secure.ALLOW_MOCK_LOCATION,无法通过上面的方法判断。增加了【选择模拟位置信息应用】的方法,需要选择使用模拟位置的应用。但是不知道怎么获取当前选择的应用,因此通过是否能够成功执行addTestProvider方法来进行判断,如果没有选择当前的应用,则addTestProvider会抛出异常。
boolean hasAddTestProvider =
boolean canMockPosition = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0)
|| Build.VERSION.SDK_INT & 22;
if (canMockPosition && hasAddTestProvider == false) {
String providerStr = LocationManager.GPS_PROVIDER;
LocationProvider provider = locationManager.getProvider(providerStr);
if (provider != null) {
locationManager.addTestProvider(
provider.getName()
, provider.requiresNetwork()
, provider.requiresSatellite()
, provider.requiresCell()
, provider.hasMonetaryCost()
, provider.supportsAltitude()
, provider.supportsSpeed()
, provider.supportsBearing()
, provider.getPowerRequirement()
, provider.getAccuracy());
locationManager.addTestProvider(
providerStr
, true, true, false, false, true, true, true
, Criteria.POWER_HIGH, Criteria.ACCURACY_FINE);
locationManager.setTestProviderEnabled(providerStr, true);
locationManager.setTestProviderStatus(providerStr, LocationProvider.AVAILABLE, null, System.currentTimeMillis());
// 模拟位置可用
hasAddTestProvider =
canMockPosition =
} catch (SecurityException e) {
canMockPosition =
3、模拟位置
private class RunnableMockLocation implements Runnable {
public void run() {
while (true) {
Thread.sleep(INTERVEL);
if (hasAddTestProvider() == false) {
// 模拟位置(addTestProvider成功的前提下)
String providerStr = LocationManager.GPS_PROVIDER;
Location mockLocation = new Location(providerStr);
mockLocation.setLatitude(22);
// 维度(度)
mockLocation.setLongitude(113); // 经度(度)
mockLocation.setAltitude(30);
// 高程(米)
mockLocation.setBearing(180);
// 方向(度)
mockLocation.setSpeed(10);
//速度(米/秒)
mockLocation.setAccuracy(0.1f);
// 精度(米)
mockLocation.setTime(new Date().getTime());
// 本地时间
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.JELLY_BEAN_MR1) {
mockLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
locationManager.setTestProviderLocation(providerStr, mockLocation);
} catch (Exception e) {
// 防止用户在软件运行过程中关闭模拟位置或选择其他应用
stopMockLocation();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
4、停止模拟位置
* 停止模拟位置,以免启用模拟数据后无法还原使用系统位置
* 若模拟位置未开启,则removeTestProvider将会抛出异常;
* 若已addTestProvider后,关闭模拟位置,未removeTestProvider将导致系统GPS无数据更新;
public void stopMockLocation() {
if (hasAddTestProvider) {
locationManager.removeTestProvider(LocationManager.GPS_PROVIDER);
} catch (Exception ex) {
// 若未成功addTestProvider,或者系统模拟位置已关闭则必然会出错
hasAddTestProvider =
Android Studio Project
以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具6.0版本安卓如何关闭虚拟位置应用程序
您可以邀请优质答主更快回答您的问题
新手上路2000
擅长领域:&&
在装机硬件分类下共有15579个回答
擅长领域:&&&&
在装机硬件分类下共有6405个回答
擅长领域:&&&&
在装机硬件分类下共有5338个回答
疯狂的制帽匠
擅长领域:&&
在装机硬件分类下共有3714个回答
擅长领域:&&&&
在装机硬件分类下共有3062个回答
windcircle
擅长领域:
在装机硬件分类下共有2455个回答
加载更多答主
主屏尺寸6英寸
电池容量4000mAh
主屏分辨率像素
电池类型不可拆卸式电池
后置摄像头1600万像素
CPU频率2.3GHz(大四核),1.8GHz(小四核)+微智核I5
前置摄像头800万像素
CPU类型海思 Kirin 950
638人的综合分
电池续航8.8
外观手感7.8
屏幕效果7.2
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?本帖子已过去太久远了,不再提供回复功能。怎么修改地理位置显示 安卓手机修改位置信息教程
来源:安软市场
  很多同学在发微信朋友圈信息和说说的时候都不喜欢透露自己的真实信息,而且经常可以变换到不同的城市和地区。这让很多初步接触安卓的同学很好奇,他们难道早上在美国下午就能到东京了么?其实关于这点,我们只要做点小手脚就好。利用就能轻松畅游全世界。
  还记得吗,在安卓系统的 设置 里有一项叫做 允许位置 的选项,借助它,然后通过第三方应用程序达到欺骗地理位置的目的。只要是调用系统 GPS 获取的应用程序,都可以 达到目的。
  1、首先要去 安软市场下载一个 Fake GPS Location。
  2、安卓2.3.x:前往 设置 - 应用程序 - 开发 ,勾选 允许模拟位置 。安卓4.x:前往 设置 ,开启 开发者选项 ,勾选 允许模拟位置 。()
  3、另外前往 位置和信息 ,取消勾选 使用无线网络 。
  4、打开 Fake GPS,要快速抵达某地点,可以点击底部
按钮,输入名称进行搜索。或者拖动,找到你想抵达的位置。找到地点之后一定要点击顶部的 Set location ,当你要切换到下一个位置,要点击 Stop ,然后重复之前的操作。
  5、地点设置好之后,顶部通知栏会显示图标,下拉通知栏,会显示模拟的经纬度。两者都是正数代表(北纬xx&,东经xx&),两者都是负数则(南纬xx&,西经xx&),依次类推。
  6、以微博为例,我们打开新浪微博,点击左上角发微薄。点击 我在这里 获取定位信息。
  7、选择其中一个位置。
  8、而事实上确实发了条假微博。
  伪装位置 Fake Location就是一款如此神奇的软件,当然伪装位置可以让我们一下,不过还是劝大家不要用来做坏事,不然被叔叔请去喝茶的话就不好玩了。
2017 / 10 / 25
2017 / 10 / 25
2017 / 10 / 25
2017 / 10 / 24
2017 / 10 / 24
原始传奇H5
阿拉德之怒
神界大陆3D
我的世界手机版

我要回帖

更多关于 小米手机允许模拟位置 的文章

 

随机推荐