不在GPU检查模拟器中显示位置

时间:2013-07-22 10:40:58

标签: android android-emulator gps locationmanager

我已经在模拟器中检查了HOST GPU并尝试获取当前位置,但没有得到任何错误或结果。

这是我的代码。

package com.example.locationawareapp;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

    private TextView currentloc;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        currentloc = (TextView)findViewById(R.id.CurrentLocation);

        // Acquire a reference to the system Location Manager
        LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

        // Define a listener that responds to location updates
        LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
              // Called when a new location is found by the network location provider.
              makeUseOfNewLocation(location);
            }
            public void onStatusChanged(String provider, int status, Bundle extras) {}

            public void onProviderEnabled(String provider) {}

            public void onProviderDisabled(String provider) {}
          };

        // Register the listener with the Location Manager to receive location updates
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
    }

    protected void makeUseOfNewLocation(Location location) {
        // TODO Auto-generated method stub

        currentloc.setText(new Double(location.getLatitude()).toString());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

任何人都可以帮忙解决这个问题。我已经检查了一些现有的问题,但问题没有解决。

的问候,
Sourabh

1 个答案:

答案 0 :(得分:0)

我找到了答案:

让我分享我的理解,解释发生了什么,我们需要做什么以及为什么。

仿真器donot有任何可以使用的内置GPS硬件,但是当它们接收位置信息时,LocationManager类及其方法实现将执行那里的任务。因为模拟器不具备内置硬件,所以我们必须为在仿真器上运行的应用程序提供Lat Lon。提供我们可以在命令行左下方使用的位置信息

telnet localhost 5554 
geo fix <longitude value> <latitude value>

还有我使用的简单方法,就是使用eclipse UI即插入DDMS功能来发送GPS。 在eclipse中转到窗口&gt; Open Perspective&gt; DDMS。 在DDMS中,您将找到如下所示的图片 Screenshot of DDMS for GPS

首先进入日食中的DDMS部分比打开模拟器控制....转到手动部分设置lat和long然后按发送按钮。

希望这会对你有所帮助。