我已经实现了这些指令Advanced Positioning By Here以实现它们所描述的功能。它适用于 Android 10 及更低版本,但我无法让它适用于 Android 11。在下面的代码中,我尝试让 Positioning Manager 开始收集位置:
mPositioningManager?.run {
if (!isActive) {
val locationDataSource = LocationDataSourceHERE.getInstance()
// "this" is mPositioningManager
this.dataSource = locationDataSource
retorno = this.start(PositioningManager.LocationMethod.GPS_NETWORK_INDOOR)
}
if (!isListenerAdded && retorno) {
this.addListener(WeakReference(this@AppPositioningManager))
isListenerAdded = true
}
}
start
函数false
返回。但是,如果我不将PositioningManager
的数据源更改为LocationDataSourceHere
然后调用start
withPositioningManager.LocationMethod.GPS_NETWORK
作为其参数,我可以让它与 Android 11 以及以前的版本一起使用。我在这里使用 Android Sdk Premium 版本 3.17.2.132。我在 AndroidManifest 中的配置是
<service
android:name="com.here.services.internal.LocationService"
android:enabled="true"
android:exported="false"
android:process=":remote">
</service>
如果您需要更多信息,请告诉我!
谢谢。