【问题标题】:Never ask again for turning on GPS不再要求打开 GPS
【发布时间】:2020-02-29 23:31:08
【问题描述】:

我在 Kotlin 中有一个在应用程序中启用 GPS 的功能。是否可以通过添加带有“不再询问”之类的参数的复选框来更改对话框,以避免在用户打开应用程序时一直打开 GPS?

或者也许有另一种解决方案,比如制作自定义对话框?

这是一个代码:

private fun buildAlertMessageNoGps() {
    val mLocationRequest = LocationRequest.create()
        .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
        .setInterval(2000)
        .setFastestInterval(1000)
    val settingsBuilder = LocationSettingsRequest.Builder()
        .addLocationRequest(mLocationRequest)
        .setAlwaysShow(true)
    settingsBuilder.setAlwaysShow(true)
    val result = LocationServices.getSettingsClient(this).checkLocationSettings(settingsBuilder.build())
    result.addOnCompleteListener { task ->
        try {
            task.getResult(ApiException::class.java)
        } catch (ex: ApiException) {
            when (ex.statusCode) {
                LocationSettingsStatusCodes.RESOLUTION_REQUIRED -> try {
                    val resolvableApiException = ex as ResolvableApiException
                    resolvableApiException.startResolutionForResult(this, 100)
                } catch (e: IntentSender.SendIntentException) {
                    Toast.makeText(this,"PendingIntent unable to execute request.",Toast.LENGTH_SHORT).show()
                }
                LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE -> {
                    Toast.makeText(
                        this,
                        "Something is wrong in your GPS",
                        Toast.LENGTH_SHORT
                    ).show()
                }
            }
        }
    }
}

【问题讨论】:

    标签: android service dialog gps location


    【解决方案1】:

    Android Developers

    如果设备运行的是 Android 6.0 或更高版本,并且您的应用的目标 SDK 为 23 或更高版本,则应用必须在清单中列出权限并在运行时请求这些权限。有关详细信息,请参阅在运行时请求权限。

    如果您的应用面向 Android 10(API 级别 29)或更高版本,并且需要在您的应用处于后台时访问设备位置,您还必须声明 ACCESS_BACKGROUND_LOCATION 权限。要了解更多信息,请参阅有关如何请求访问后台位置的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 2018-08-14
      • 2021-10-18
      • 1970-01-01
      相关资源
      最近更新 更多