当前位置在android emulator中不起作用
我正在按照教程获取我的当前位置。我写的和教程上说的一模一样,但我就是不明白我的lat/lon。我正在使用wifi连接。我试过:当前位置在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
地理定位-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??