我正在开发一个试图获取当前位置的应用程序。但是我得到一个错误“getLocation()方法无法从事件线程调用”,即使我已经创建了一个新线程。任何人都可以帮助我吗?
这是我的代码
Thread t = new MyThread();
t.run();
这是MyThread类的运行函数:
try
{
Criteria cr = new Criteria();
cr.setHorizontalAccuracy(500);
LocationProvider lp = LocationProvider.getInstance(cr);
Location l = lp.getLocation(60);
Coordinates c = l.getQualifiedCoordinates();
if (c != null)
{
double longitude = c.getLongitude();
double latitude = c.getLatitude();
Dialog.alert("latitude:"+latitude);
Dialog.alert("longitude:"+longitude);
}
}catch(Exception e){
Dialog.alert(e.getMessage());
}
答案 0 :(得分:3)
您不通过调用run()方法启动线程。通过调用start()方法启动一个线程。