我是android新手。如果我的问题很简单并且帮助我,请道歉。
我正在开发一个Android应用程序,我试图让用户位置仅使用GPS服务(因为我正在开发一个需要在Android设备上运行的应用程序,即使没有互联网< /强>)。
我的代码如下:
我的活动:
public class MyView extends Activity implements OnClickListener, Runnable
{
LocationManager itsLocationManager;
LocationListener itsLocationListener;
@Override
protected void onCreate(Bundle savedInstanceState)
{
itsLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
itsLocationListener = new MyLocationListener(this, itsLocationManager);
getLocationAndSendMessage();
}
private void getLocationAndSendMessage()
{
try
{
itsLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, itsLocationListener);
}
catch (Exception theException)
{
theException.printStackTrace();
ToastMsgUtil.showErrorMessage("Problem in retrieving your current location! Please try again.", this);
}
}
MyLocationListener.java:
public class MyLocationListener implements LocationListener
{
Context itsContext;
LocationManager itsLocationManager;
public MyLocationListener(Context theContext, LocationManager theLocationManager)
{
itsContext = theContext;
itsLocationManager = theLocationManager;
}
@Override
public void onLocationChanged(final Location theLocation)
{
//My Location processing code
itsLocationManager.removeUpdates(SafemateLocationListener.this);
}
}
的AndroidManifest.xml :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
正如我上面所说,我需要通过GPS获取位置(因为移动用户没有互联网)。
任何人都可以在上面的代码中说出我做错了什么吗?我错过了什么吗?
请帮助。谢谢。
答案 0 :(得分:1)
以稳定,可操作和兼容的方式使用GPS获得正确的坐标是一团糟。我记得在stackoverflow.com上发布的某个帖子但目前无法找到它。所以我建议使用WLocate.java中的GPS相关代码,该代码使用所有已知的Android版本。或者使用libwlocate,它封装了您正在寻找的功能。