我仍然是Android编程的新手,并且遇到了“requestLocationUpdates”的问题。我很确定我已经缩小了它,因为我的代码在我发表评论时有效。当我使用下面编写的代码运行它时,程序就会停止响应。我使用的是Android 2.2,权限设置为1.6。我知道2.3引起了问题,但听起来像2.2应该没问题。我刚刚在下面的代码中包含了我认为重要的内容,如果其他部分需要让我知道。
locman= (locationManager) getSystemService(Context.LOCATION_SERVICE);
locman.requestLocationUpdates(LocationManger.GPS_PROVIDER, 0,0, new locationListener());
}
private class locationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
if (loc !=null) {
Toast.makeText(getBaseContext(), "Location Changed: Lat: " + loc.getLatitude() + "Lng: " + loc.getLongitud(), Toast.LENGTH_SHORT).show();
}
gp= new GeoPoint(
(int) (loc.getLatitude()*1E6),(int) (loc.getLongitude()*1E6));
答案 0 :(得分:0)
也许给定loc参数为null会导致新的GeoPoint创建失败?
答案 1 :(得分:0)
这是一个愚蠢的错误,在manifest.xml文件中我用额外的S拼写了ACCESS,因此它是ACCESSS。显然效果不好。我讨厌拼写错误!我想通过添加COARSE_LOCATION,并意识到FINE和COARSE没有像他们应该的那样正确排列。