为什么我的isLocationEnabled需要EasyPermissions中的SuppressLint(MissingPermission)?

时间:2019-05-26 06:47:27

标签: android google-maps kotlin

为什么我使用EasyPermissions时仍需要权限检查器?

@SuppressLint("MissingPermission")
    @AfterPermissionGranted(100)
    private fun methodRequiresTwoPermission() {
        val perms =  Manifest.permission.ACCESS_FINE_LOCATION
        if (EasyPermissions.hasPermissions(this, perms)) {
            Toast.makeText(applicationContext, "Granted", Toast.LENGTH_SHORT).show()
            mMap.isMyLocationEnabled = true // Call requires permission. @SuppressLint("MissingPermission")
            mMap.getUiSettings().setMyLocationButtonEnabled(true)
        } else {
            Toast.makeText(applicationContext, "Denied", Toast.LENGTH_SHORT).show()
            EasyPermissions.requestPermissions(
                this, "Please allow the permission",
                100, perms
            )
        }
    }

1 个答案:

答案 0 :(得分:0)

您正在使用的库未明确包含在Android SDK中。它是其他开发人员通过添加额外的代码开发的帮助程序库。

Lint认为您没有在运行时请求权限,因为它没有看到诸如Activity#requestPermissions()之类的任何代码,因此发出警告。

但是您可以放心地忽略或取消该警告,因为它是从库中的某个地方调用的。