当前位置在android emulator中不起作用

当前位置在android emulator中不起作用,android,emulation,Android,Emulation,我正在按照教程获取我的当前位置。我写的和教程上说的一模一样,但我就是不明白我的lat/lon。我正在使用wifi连接。我试过: 地理定位-77.036519 38.896143 仍然无法获得lat/lon。我的代码如下 import java.util.List; import android.app.Activity; import android.content.Context; import android.location.Location; import android.locatio

我正在按照教程获取我的当前位置。我写的和教程上说的一模一样,但我就是不明白我的lat/lon。我正在使用wifi连接。我试过:
地理定位-77.036519 38.896143
仍然无法获得lat/lon。我的代码如下

import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.location.LocationListener;
import android.os.Bundle;
import android.widget.TextView;

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

        String location_context=Context.LOCATION_SERVICE;
        locationManager=(LocationManager)getSystemService(location_context);
        testProvider();
    }
    public void testProvider(){
     TextView tv = (TextView)findViewById(R.id.myTextView);
     StringBuilder sb = new StringBuilder("Enabled Providers:");

     List<String> providers = locationManager.getProviders(true);

     for (String provider : providers) {

     locationManager.requestLocationUpdates(provider, 1000, 0,
     new LocationListener() {
     public void onLocationChanged(Location location) {}
     public void onProviderDisabled(String provider){}

     public void onProviderEnabled(String provider){}
     public void onStatusChanged(String provider, int status,
     Bundle extras){}
     });
     sb.append("\n").append(provider).append(":");
     Location location = locationManager.getLastKnownLocation(provider);
     if (location != null) {
     double lat = location.getLatitude();
     double lng = location.getLongitude();
     sb.append(lat).append(",").append(lng);
     } else {
     sb.append("No Location");
     }
     }
     tv.setText(sb);
    }
}
import java.util.List;
导入android.app.Activity;
导入android.content.Context;
导入android.location.location;
导入android.location.LocationManager;
导入android.location.LocationListener;
导入android.os.Bundle;
导入android.widget.TextView;
公共类TestProviderController扩展活动{
地点经理地点经理;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
字符串location\u context=context.location\u服务;
locationManager=(locationManager)getSystemService(位置上下文);
testProvider();
}
公共void testProvider(){
TextView tv=(TextView)findViewById(R.id.myTextView);
StringBuilder sb=新的StringBuilder(“已启用的提供程序:”);
List providers=locationManager.getProviders(true);
for(字符串提供程序:提供程序){
locationManager.RequestLocationUpdate(提供程序,1000,0,
新位置侦听器(){
public void onLocationChanged(位置){}
公共无效onProviderDisabled(字符串提供程序){}
公共无效onProviderEnabled(字符串提供程序){}
public void onStatusChanged(字符串提供程序,int状态,
Bundle extras){}
});
sb.append(“\n”)。append(提供者)。append(“:”);
Location Location=locationManager.getLastKnownLocation(提供者);
如果(位置!=null){
双纬度=location.getLatitude();
double lng=location.getLongitude();
sb.追加(lat).追加(“,”).追加(lng);
}否则{
某人附加(“无位置”);
}
}
tv.setText(sb);
}
}

有人能帮我找出哪里出了问题吗?

很明显,获取坐标需要一点时间-这里有一个类似的链接

嗨..我尝试了你建议的链接,但仍然没有得到我的lat/lon。但正如你所说的,这可能需要一些时间,需要多长时间才能获得lat/lon??