Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中使用GPS进行假定位_Android - Fatal编程技术网

在android中使用GPS进行假定位

在android中使用GPS进行假定位,android,Android,您好,我正在开发一个应用程序,将设置坐标(纬度和经度)。它必须显示我的位置,因为我在那个坐标处..它类似于位置欺骗。。 但是我没有做到。。这是我的密码,请任何人帮我 public class Mock extends MapActivity { private LocationManager lm; private LocationListener locationListener; private MapView mapView; String mocLocatio

您好,我正在开发一个应用程序,将设置坐标(纬度和经度)。它必须显示我的位置,因为我在那个坐标处..它类似于位置欺骗。。 但是我没有做到。。这是我的密码,请任何人帮我

public class Mock extends MapActivity 
{    
  private LocationManager lm;
  private LocationListener locationListener;

  private MapView mapView;
  String mocLocationProvider;
  private MapController mc;


  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 

    //---use the LocationManager class to obtain GPS locations---
    lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);    

   locationListener = new MyLocationListener();

    mocLocationProvider=LocationManager.GPS_PROVIDER;

    lm.addTestProvider(mocLocationProvider, false, false,false, false, true, true, true, 0, 5);
    lm.setTestProviderEnabled(mocLocationProvider,true);
    lm.requestLocationUpdates(mocLocationProvider,0,0,locationListener);


    mapView = (MapView) findViewById(R.id.mapview1);
    mc = mapView.getController();

  }

  @Override
  protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
  }        

  private class MyLocationListener implements LocationListener 
  {
    @Override
    public void onLocationChanged(Location loc) {

        loc = new Location(mocLocationProvider);

         Double latitude = 1.352566007;
         Double longitude = 103.78921587;

         //Double altitude = Double.valueOf(parts[2]);

         loc.setLatitude(latitude);
         loc.setLongitude(longitude);
         loc.setTime(System.currentTimeMillis());
         lm.setTestProviderLocation(mocLocationProvider, loc);


            mc.setZoom(16);                
            mapView.invalidate();

    }

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onStatusChanged(String provider, int status, 
        Bundle extras) {
        // TODO Auto-generated method stub
    }
}    
}

我会用这个方法。还没有尝试过这种方法:

您基本上是在真实设备上设置坐标的,就像在Eclipse中使用DDMS在模拟器中设置坐标一样


只需确保在设备中启用“假位置”。您可以在设置>应用程序>开发>允许模拟位置中找到该设置

你好,kwa…我想在真实设备上执行此操作,而不是在模拟器上或向下投票给BGS-无意冒犯。应该在这里跟进用户的问题。是的,你可以在真正的设备上这样做。只需在“设置”中启用“模拟位置”,并按照此答案中第一个URL的指南,即“如何运行DDMS”。您还必须启用USB调试,计算机才能识别设备。确保为您的手机安装了OEM USB驱动程序(我相信您已经安装了)。是的,我知道我大约晚了一年,但我想有人可能会觉得这很有帮助。这是Qix。。。它是。。。现在是2013年,我觉得它很有用