Android LocationManager请求LocationUpdate
我编写了以下代码,以便在接收到位置更新(这是主线程)时对线程进行回调: 当收到更新时,我希望在日志中看到MSG。相反,当我看到UPD行时,我看不到MSGAndroid LocationManager请求LocationUpdate,android,handler,locationmanager,looper,Android,Handler,Locationmanager,Looper,我编写了以下代码,以便在接收到位置更新(这是主线程)时对线程进行回调: 当收到更新时,我希望在日志中看到MSG。相反,当我看到UPD行时,我看不到MSG 那么,当我通过一个活套时,requestLocationUpdates的正确行为是什么?没有人知道该活套的角色………你是UBC的吗?如果是的话,这是最后一个项目xD:Edit:yeah,您确实使用了locationlistener。我不知道你用这个处理器干什么。我们的项目似乎在没有处理程序的情况下运行良好(尽管我们还没有仔细研究)。onLoca
那么,当我通过一个活套时,requestLocationUpdates的正确行为是什么?没有人知道该活套的角色………你是UBC的吗?如果是的话,这是最后一个项目xD:Edit:yeah,您确实使用了locationlistener。我不知道你用这个处理器干什么。我们的项目似乎在没有处理程序的情况下运行良好(尽管我们还没有仔细研究)。onLocationChanged方法更新GeoPoint并调用MapFragment类上的update。不,我不知道什么是UBC(对不起)。我只是想理解为什么我没有看到循环器链接到的处理程序上的回调…:(啊,对不起,(UBC是一所大学)我们有一个项目,其中包含了非常类似的代码:P我不得不问
Handler handler; // this Handler is initialized in the following thread
Runnable r = new Runnable() {
public void run() {
Looper.prepare();
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
Log.d("MSG", msg.toString());
}
};
Looper.loop();
}
};
Thread t = new Thread(r);
t.start();
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() {
public void onLocationChanged(Location location) {
Log.d("UPD", "onLocationChanged");
}
[...]
}, handler.getLooper());