获取纬度和经度,无需从应用程序中插入Sim卡和启动/停止Gps

Ank*_*kit 4 gps android locationmanager

我想获取Gps纬度和经度,但我有一个查询,每当我尝试拿取没有SIM卡的Lat&Long,它没有提供任何信息,我尽快插入我的SIM卡,它提供了我的所有信息期望的方式.

LocationManager mlocManager = 
    (LocationManager) getSystemService(Context.LOCATION_SERVICE);

LocationListener mlocListener = new MyLocationListener();

mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                                   0, 0, mlocListener);
Run Code Online (Sandbox Code Playgroud)

你可以看到我使用GPS_PROVIDER,它没有给我Lat&Long没有网络运营商的帮助,任何人都可以打电话给我?


另一件事是如何从应用程序启动和停止GPS意味着我想在特定时间后启动GPS,并且一旦我得到beslocation,我可以将其关闭.

Sté*_*ane 7

您无需访问任何网络即可在Android上获取GPS位置.但是互联网连接将位置修复从大约5分钟加速到5秒(大约)!这种改进是由辅助GPS(A-GPS)带来的,而不是独立的GPS.

GPS手机(包括Android设备)检查网络连接是否可用.如果是这样,他们从A-GPS服务器下载辅助数据并使用它来计算GPS芯片组的定位.如果没有,GPS芯片组必须从GPS卫星下载数据,这需要很长时间(速率为每秒50 !).如果不久前计算出GPS位置,也可以加快该过程.

首先:

  • 检查您是否已将ACCESS_FINE_LOCATION添加到清单的权限中
  • 检查手机设置中是否启用了GPS卫星
  • 检查你是否在室内(来自20,000公里以上卫星的信号不喜欢屋顶和墙壁)

然后启动您的应用并等待,可以在第一个修复可用之前几分钟.

至于从您的应用程序启动GPS,似乎可能(请参阅如何在Android上以编程方式启用或禁用GPS?),但我不知道如何!至少你可以下载Tasker并对其进行编程以启动/停止GPS.