Когда я переопределяю функцию onRequestPermissionsResult не работает - PullRequest
0 голосов
/ 12 апреля 2019

При переопределении функции onRequestPermissionsResult не работает.

Когда я удаляю команду переопределения, Android Studio больше не жалуется, но функция остается бесполезной ... Я запрашиваю разрешения для ACCES_FINE_LOCATION

Сообщение об ошибке «Модификатор« override »не применим к« локальной функции »»

class MainActivity : AppCompatActivity()  {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
val texto = TextView(this)
val ID_REQUISICAO_ACCESS_FINE = 1
setContentView(texto)


override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
    when (requestCode) {
           ID_REQUISICAO_ACCESS_FINE -> {
    // If request is cancelled, the result arrays are empty.
     if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    // permission was granted, yay! Do the location-related task you need to do.
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
 Toast.makeText(this, "permission granted", Toast.LENGTH_LONG).show()
                            }
  } else {
// permission denied, boo! Disable the functionality that depends on this permission.
Toast.makeText(this, "permission denied", Toast.LENGTH_LONG).show()
                        }
                        return
                    }
                }
                }

            }
        }

1 Ответ

0 голосов
/ 12 апреля 2019

У вас есть onRequestPermissionsResult как переопределенный метод класса, а не локальная функция метода onCreate.Итак, просто закройте onCreate метод перед запуском onRequestPermissionsResult one:

class MainActivity : AppCompatActivity()  {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
        val texto = TextView(this)
        val ID_REQUISICAO_ACCESS_FINE = 1
        setContentView(texto)
    }

    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
        when (requestCode) {
           ID_REQUISICAO_ACCESS_FINE -> {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    // permission was granted, yay! Do the location-related task you need to do.
                    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
                        Toast.makeText(this, "permission granted", Toast.LENGTH_LONG).show()
                    } else {
                        // permission denied, boo! Disable the functionality that depends on this permission.
                        Toast.makeText(this, "permission denied", Toast.LENGTH_LONG).show()
                    }
                    return
                }
            }
        }

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...