我是新来的机器人。 所以,请原谅,如果我的问题很简单,帮助我。
我正在开发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获得的位置(如在用户手机没有网络)。
- 在调试时,我发现我没有当我使用LocationManager.GPS_PROVIDER在onLocationChanged方法接收的任何位置更新 。
- 然而,当我与LocationManager.NETWORK_PROVIDER试过,我收到位置更新。
任何人都可以请说我做错了什么在上面的代码? 我错过了什么东西?
请帮忙。 谢谢。