本文介绍如何变成实现模拟定位程序。
工具/原料
androidstudio
java变成
方法/步骤
1、获取位置对象LocationManagerlocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
2、获取位置提供者对象LocationProviderprovider=locationManager.getProvider(LocationManager.GPS_PROVIDER);
3、添加一个模拟位置提供者locationManager.a蟠校盯昂ddTestProvider(provider.g髫潋啜缅etName(),provider.requiresNetwork()//请求网络,provider.requiresSatellite()//请求卫星,provider.requiresCell()//基站网络,provider.hasMonetaryCost()//收费还是免费,provider.supportsAltitude()//支持高度信息,provider.supportsSpeed()//支持速度信息,provider.supportsBearing()//支持方向信息,provider.getPowerRequirement()//电源需求,provider.getAccuracy()//经度);
4、模拟一个定的定位的位置Locationlocation=newLocation(LocationManager.GPS_PROVIDER);location.setAccuracy(0);location.setSpeed(0);location.setBearing(0);location.setLatitude(31.23491);location.setLongitude(121.474755);location.setAccuracy(0);location.setTime(System.currentTimeMillis());location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
5、开启模拟位置提供者locationManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER,true);locationManager.setTestProviderStatus(LocationManager.GPS_PROVIDER,LocationProvider.AVAILABLE,null,System.currentTimeMillis());设置模拟位置locationManager.setTestProviderLocation(LocationManager.GPS_PROVIDER,location);
6、获取刚才模拟的位置location=(Loc瞢铍库祢ation)locationManager.get讣嘬铮篌LastKnownLocation(locationManager.GPS_PROVIDER);StringBuildersb=newStringBuilder();sb.append("位置信息:\n");sb.append("经度:");sb.append(String.valueOf(location.getLongitude()));sb.append("\n纬度:");sb.append(String.valueOf(location.getLatitude()));sb.append("\n高度:");sb.append(String.valueOf(location.getAltitude()));sb.append("\n速度:");sb.append(String.valueOf(location.getSpeed()));sb.append("\n方向:");sb.append(String.valueOf(location.getBearing()));Stringinfo=sb.toString();Toast.makeText(Main.this,info,Toast.LENGTH_LONG).show();