android Gps On App仅在使用谷歌Map后工作

iyzzxitl  于 2022-12-02  发布在  Android
关注(0)|答案(3)|浏览(109)

我们有一个使用maps api的android应用程序。现在当我们运行它时,它通常不工作,当我们调用

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
100, 0, this, null);

它实际上并不起作用,LocationListener的onLocationChanged方法从未被调用过。然而,如果我们运行Google Maps,并等到状态栏中的gps图标亮起,我们的应用程序就会开始调用onLocationChanged。所以我的问题是,Google Maps是如何“激活”gps的,或者如果他们没有激活它,他们在做什么?

91zkwejq

91zkwejq1#

您需要先打开GPS:

try {
  Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true);
} catch (Exception e) {
  logger.log(Log.ERROR, e, e.getMessage());
}

要做到这一点,你也需要有最终用户的许可,我相信。

lymgl2op

lymgl2op2#

请尝试以下操作:-我们必须使用locationManager注册位置侦听器。当我们提供locationlistener时,将执行onLocationChanged方法

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
 100, 0, this, locationlistener);
ie3xauqp

ie3xauqp3#

我用删除解决了它:<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>从AndroidManifest.xml文件中删除,而我只保留了<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

相关问题