如何从AVD获得位置?

时间:2015-08-08 14:18:20

标签: android geolocation google-play-services

我写了一个示例代码,仅测试位置是否适用于AVD Nexus 4 API 19.我没有找到任何简单代码的答案。

checkPlayServices()没问题(返回0)并且创建了mGoogleApiClient但是我从

获得了null
LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient)

是否可以从虚拟设备获取位置?我使用telnet geo fix模拟了一个,但它不起作用(它适用于LocationManager ......)。

感谢帮助

   ...
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (checkPlayServices()) {
        buildGoogleApiClient();
    }
}

protected synchronized void buildGoogleApiClient(){
    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(LocationServices.API)
            .build();

    mLastLocation = LocationServices.FusedLocationApi
            .getLastLocation(mGoogleApiClient);

    if (mLastLocation != null) {
        double latitude = mLastLocation.getLatitude();
        double longitude = mLastLocation.getLongitude();
    } else {
        Toast.makeText(getApplicationContext(),
                "This device is not supported.", Toast.LENGTH_LONG)
                .show();
        finish();
    }
}

1 个答案:

答案 0 :(得分:0)

使用带有DDMS的仿真器控制窗口。发送测试位置。

设置手机的位置

如果您的应用程序取决于手机的位置,您可以让DDMS发送您的设备或AVD模拟位置。如果您想在不实际移动的情况下测试应用程序的位置特定功能的不同方面,这将非常有用。您可以使用以下地理位置数据类型:

手动 - 通过手动指定十进制或六十进制经度和纬度值来设置位置。 GPX - GPS eXchange文件 KML - Keyhole标记语言文件

有关提供模拟位置数据的详细信息,请参阅位置策略。 Android Docs

祝你好运。