Java 强制全球定位系统启动

Java 强制全球定位系统启动,java,android,google-maps,gps,Java,Android,Google Maps,Gps,我昨天问了这个问题。我今天注意到的一件事是,对于使用LocationManager而不是地图的活动,我会在状态托盘中看到GPS图标(satalite碟形天线向上发射信号)。对于包含地图片段并使用LocationManager的活动,托盘中没有GPS图标。我将location manager代码从一个活动复制并粘贴到另一个活动 为什么GPS有时会出现而其他时候不会出现 Greg这取决于全球GPS设置-如果全球GPS设置为启用状态,则在活动\Fragment中使用LocationManager将发射

我昨天问了这个问题。我今天注意到的一件事是,对于使用LocationManager而不是地图的活动,我会在状态托盘中看到GPS图标(satalite碟形天线向上发射信号)。对于包含地图片段并使用LocationManager的活动,托盘中没有GPS图标。我将location manager代码从一个活动复制并粘贴到另一个活动

为什么GPS有时会出现而其他时候不会出现


Greg

这取决于全球GPS设置-如果全球GPS设置为启用状态,则在活动\Fragment中使用LocationManager将发射“卫星天线”。如果全球定位系统被关闭-使用LocationManager将不会启动


原因是GPS是一个巨大的电力消耗者,允许它在没有明确的用户决定打开它的情况下运行会非常快地耗尽设备电池。

您确定要请求GPS的位置回调吗?在这段代码中,您似乎只是请求网络位置回调,除非在提供商启用的回调中使用时启用了GPS无线电。就是这样,谢谢。我将LocationManager.NETWORK\u提供程序更改为LocationManager.GPS\u提供程序。现在来测试一下,看它是否变得更准确。很好,看起来这也是你在另一个问题中出现问题的根本原因。我刚刚为这个问题添加了一个答案。这是同一个应用程序,有两个活动似乎在使用位置时有所不同,因为它适用于GPS。我不会更改GPS的手机设置。一个活动使用它,另一个似乎不使用。哦,原因似乎是在第二种情况下,您没有调用
requestLocationUpdates(LocationManager.GPS\u PROVIDER,…)