Android的 - 麻烦越来越位置只用GPS坐标提供商(Android - Trouble in

2019-08-05 07:00发布

我是新来的机器人。 所以,请原谅,如果我的问题很简单,帮助我。

我正在开发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_PROVIDERonLocationChanged方法接收的任何位置更新
  • 然而,当我与LocationManager.NETWORK_PROVIDER试过,我收到位置更新。

任何人都可以请说我做错了什么在上面的代码? 我错过了什么东西?

请帮忙。 谢谢。

Answer 1:

获得使用一个稳定,合作和兼容的方式GPS正确的坐标是一个烂摊子。 我记得有一个帖子在这里stackoverflow.com地方,但目前无法找到它。 所以,我建议采取GPS相关的代码出的WLocate.java其作品使用所有已知的Android版本。 或者使用libwlocate ,它封装了您正在寻找的功能。



文章来源: Android - Trouble in getting location coordinates by only using GPS provider