在模拟器中启动应用程序时获取GPS位置

时间:2011-12-06 12:16:21

标签: android gps emulation

我正在Android模拟器中测试我的应用程序,当应用程序已经通过onLocationChanged方法运行时,我只能设置GPS位置。我在启动应用程序之前无法设置它。这是我的onCreate方法中的代码:

编辑:认为你们很想念我。我可以在应用程序运行时使用地理定位设置GPS位置。当我在启动活动之前尝试设置它时,我得到错误android.view.windowmanager $ badtokenexception。

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

Criteria crit = new Criteria();
providers = lm.getBestProvider(crit, false);
loc = lm.getLastKnownLocation(providers);
    if (loc != null) {
    title.setText(stop_name);
    lview.setAdapter(lviewAdapter);
      } else {
        Toast t = Toast.makeText(this, "Failed to get GPS location", 5000);
        t.setGravity(Gravity.BOTTOM, 0, 0);
        t.show();
        }

3 个答案:

答案 0 :(得分:1)

要在模拟器中设置gps位置,您必须按照以下步骤操作并在设置以下步骤之前打开您的应用,然后这将进入上一次配置。

  1. 打开命令提示符
  2. 输入“telnet localhost 5554”
  3. 然后输入geo fix
  4. enter image description here

答案 1 :(得分:1)

enter image description here

正如您在图像中看到的那样,您可以通过手动向DDMS手动发送lat / long来手动发送lat / long并发送它,您可以通过这样做在模拟器中获得这些点

答案 2 :(得分:1)

你甚至不需要打开命令行工具,如果你正在使用eclipse [我希望你这样做],如果不是你不需要reed其余的......

  1. 转到窗口 - >显示视图 - >其他
  2. 在对话框中,您可以找到android group [folder]
  3. 点击模拟器控件
  4. 根据您的方便调整窗口
  5. 如果您连接了多个模拟器/设备,则重复1和2
  6. 此处您必须点击设备
  7. 在设备中单击所需的模拟器
  8. 再次转到刚刚打开的模拟器控制窗口
  9. 查找位置控件[请记住,如果所选设备不是模拟器,则模拟器控件中的所有控件都被禁用]
  10. 按照您方便的格式输入所需的位置。
  11. 按发送 和Viola ....您可以轻松使用模拟器中的位置