【问题标题】:LocationManager's requestLocationUpdates() creates a notificationLocationManager 的 requestLocationUpdates() 创建通知
【发布时间】:2020-04-26 23:23:22
【问题描述】:

我正在使用位置管理器从前台服务跟踪用户的位置。我创建了自己的通知来显示前台服务,但是当我开始跟踪用户的位置时,Android 会创建自己的通知。此通知不是在 Android 模拟器中创建的,而是在我自己的设备上创建的,即运行 Android 9 的小米 Redmi 7。

在下图中,您可以看到我在前台服务中创建的自定义通知,以及另一个声称使用我认为我没有使用的 Fused Location Provider 服务的通知。

是否可以删除此通知或至少自定义其样式?谢谢!

private fun startLocationTracking() {
    locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager

    val criteria = Criteria();
    criteria.accuracy = Criteria.ACCURACY_FINE;
    criteria.powerRequirement = Criteria.POWER_HIGH;
    criteria.isAltitudeRequired = true;
    criteria.isSpeedRequired = false;
    criteria.isCostAllowed = true;
    criteria.isBearingRequired = false

    criteria.horizontalAccuracy = Criteria.ACCURACY_HIGH
    criteria.verticalAccuracy = Criteria.ACCURACY_HIGH;

    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        throw RuntimeException("Location tracking started but permissions have not been granted");
    } else {
        locationManager!!.requestLocationUpdates(updateIntervalInMilliseconds, updateDistanceInMeters, criteria, locationListener, null)
    }
}

【问题讨论】:

    标签: android kotlin locationmanager


    【解决方案1】:

    在更改 requestsLocationUpdates 的代码行后,额外通知的样式会适当。

    locationManager!!.requestLocationUpdates(locationManager!!.getBestProvider(criteria, true), updateIntervalInMilliseconds, updateDistanceInMeters, locationListener, null)
    

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 2018-04-13
      • 2013-06-14
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      相关资源
      最近更新 更多