Android requestLocationUpdates引发异常
我正在创建一个定期更新职位的服务。但是使用下面的代码,它让我感到: runException无法在未调用Looper.prepare()的线程内创建处理程序 此代码在服务中异步类的doInBackground内运行Android requestLocationUpdates引发异常,android,service,gps,locationmanager,Android,Service,Gps,Locationmanager,我正在创建一个定期更新职位的服务。但是使用下面的代码,它让我感到: runException无法在未调用Looper.prepare()的线程内创建处理程序 此代码在服务中异步类的doInBackground内运行 private void UpdatePosition() { locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Location locat
private void UpdatePosition()
{
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location =
locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
showPosition(location);
locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
showPosition(location);
}
public void onProviderDisabled(String provider){
}
public void onProviderEnabled(String provider){
}
public void onStatusChanged(String provider, int status, Bundle extras){
Log.i("LocAndroid", "Provider Status: " + status);
}
};
locManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 15000, 0, locationListener);
}
我查看了几篇文章,发现请求必须在uithread中运行,但不知道如何或在何处放置它
我能做什么
编辑:
我将只将此添加到我的代码中,现在不会抛出任何错误
private void UpdatePosition()
{
Looper.prepare();
looper = Looper.myLooper();
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location =
locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
showPosition(location);
locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
showPosition(location);
}
public void onProviderDisabled(String provider){
}
public void onProviderEnabled(String provider){
}
public void onStatusChanged(String provider, int status, Bundle extras){
Log.i("LocAndroid", "Provider Status: " + status);
}
};
locManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 15000, 0, locationListener);
}
但是我不知道它是否正确..你怎么说?你能发布完整的异常和stacktrace,以便我们更好地了解问题。另外,当从doInBackground调用或在位置更新回调中调用时,你是否尝试更新showPosition方法中的GUI?你的AsyncTask是否做了其他事情,或者它是否只与LocationListener?在showPosition中,我只是将纬度和经度转换为所需的格式。但是我和UI没有联系@hardillbmy AsyncTask正在侦听我的服务器,等待接收发送位置的命令。当我收到订单时,调用UpdatePosition获取数据@Sam